/**
 * 早見表 アコーディオン表示 v1
 * - 閉じた時だけオーロラカードを表示
 * - 開いた時は現在のタイトルデザイン＋早見表本体へ戻す
 * - 開いた本体には外枠・左右padding・幅制限を追加しない
 */
.kyu-ranking-accordion{box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin:2.25rem 0;padding:0;border:0;background:transparent;color:#14232a}
.kyu-ranking-accordion *,.kyu-ranking-accordion *::before,.kyu-ranking-accordion *::after{box-sizing:border-box}
.kyu-ranking-accordion>.kyu-ranking-accordion__summary{position:relative;display:block;isolation:isolate;width:100%;max-width:100%;min-width:0;margin:0;padding:0;border:0;background:transparent;color:#14232a;cursor:pointer;list-style:none}
.kyu-ranking-accordion>.kyu-ranking-accordion__summary::-webkit-details-marker{display:none}
.kyu-ranking-accordion>.kyu-ranking-accordion__summary::marker{content:""}
.kyu-ranking-accordion>.kyu-ranking-accordion__summary:focus-visible{outline:3px solid rgba(7,59,76,.28);outline-offset:4px}

/* 閉じたカード共通 */
.kyu-ranking-accordion__closed-content{position:relative;display:flex;flex-direction:column;align-items:stretch;width:100%;min-width:0;padding:1.35rem 1.45rem 1.25rem;overflow:hidden;border:2px solid transparent;border-radius:10px;background:linear-gradient(rgba(255,255,255,.965),rgba(255,255,255,.985)) padding-box,linear-gradient(125deg,#a7ddff 0%,#b8f3e7 32%,#d9c2ff 68%,#8edbea 100%) border-box;box-shadow:0 10px 28px rgba(7,59,76,.10);transition:box-shadow 180ms ease,transform 180ms ease}
.kyu-ranking-accordion:not([open])>.kyu-ranking-accordion__summary:hover .kyu-ranking-accordion__closed-content{transform:translateY(-1px);box-shadow:0 14px 32px rgba(7,59,76,.14)}
.kyu-ranking-accordion__closed-content>:not(.kyu-ranking-accordion__aurora){position:relative;z-index:2}
.kyu-ranking-accordion__aurora{position:absolute;z-index:0;inset:0;display:block;overflow:hidden;border-radius:inherit;pointer-events:none}
.kyu-ranking-accordion__aurora::before,.kyu-ranking-accordion__aurora::after,.kyu-ranking-accordion__aurora>span::before,.kyu-ranking-accordion__aurora>span::after{content:"";position:absolute;display:block;pointer-events:none}
.kyu-ranking-accordion__topline{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;min-width:0;margin-bottom:.75rem}
.kyu-ranking-accordion__eyebrow{display:inline-flex;align-items:center;min-height:28px;padding:.3rem 0 .3rem .65rem;border:0;border-left:3px solid #0b5367;border-radius:0;background:transparent;color:#0b5367;font-size:.75rem;font-weight:750;line-height:1.2;letter-spacing:.04em}
.kyu-ranking-accordion__count{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:.3rem .68rem;border:1px solid rgba(77,105,116,.34);border-radius:2px;background:rgba(255,255,255,.88);color:#244650;font-size:.73rem;font-weight:750;line-height:1.2;white-space:nowrap}
.kyu-ranking-accordion__title{display:block;width:100%;min-width:0;color:#14232a;font-size:clamp(1.18rem,2.1vw,1.52rem);font-weight:800;line-height:1.42;letter-spacing:.01em;text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}
.kyu-ranking-accordion__title-suffix{white-space:nowrap}
.kyu-ranking-accordion__description{display:block;max-width:100%;margin-top:.7rem;color:#4f5f66;font-size:.86rem;font-weight:500;line-height:1.7;white-space:normal;word-break:normal;overflow-wrap:anywhere}
.kyu-ranking-accordion__action{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 52px;align-items:stretch;width:100%;min-height:54px;margin-top:1.15rem;overflow:hidden;border:1px solid #073b4c;border-radius:7px;background:linear-gradient(115deg,#0a4b60 0%,#073b4c 60%,#0b5061 100%);box-shadow:0 5px 13px rgba(7,59,76,.16);color:#fff;transition:filter 180ms ease,transform 180ms ease,box-shadow 180ms ease}
.kyu-ranking-accordion:not([open])>.kyu-ranking-accordion__summary:hover .kyu-ranking-accordion__action{filter:brightness(1.06);box-shadow:0 7px 17px rgba(7,59,76,.22)}
.kyu-ranking-accordion:not([open])>.kyu-ranking-accordion__summary:active .kyu-ranking-accordion__action{transform:translateY(1px)}
.kyu-ranking-accordion__action-text{display:flex;align-items:center;justify-content:center;min-width:0;padding:.72rem .9rem;font-size:clamp(.9rem,1.5vw,1rem);font-weight:800;line-height:1.35;text-align:center;word-break:keep-all;overflow-wrap:normal}
.kyu-ranking-accordion__action-chevron{position:relative;display:flex;align-items:center;justify-content:center;border-left:1px solid rgba(255,255,255,.2)}
.kyu-ranking-accordion__action-chevron::before{content:"";display:block;width:12px;height:12px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform 180ms ease}
.kyu-ranking-accordion:not([open])>.kyu-ranking-accordion__summary:hover .kyu-ranking-accordion__action-chevron::before{transform:translateY(0) rotate(45deg)}
.kyu-ranking-accordion__helper{display:inline-flex;align-items:center;align-self:center;gap:.4rem;max-width:100%;margin-top:.65rem;color:#69777c;font-size:.72rem;font-weight:500;line-height:1.45;text-align:center}
.kyu-ranking-accordion__helper-icon{position:relative;display:inline-block;width:14px;height:17px;border:1.5px solid currentColor;border-radius:7px 7px 6px 6px;opacity:.75}
.kyu-ranking-accordion__helper-icon::before{content:"";position:absolute;left:50%;top:-4px;width:1.5px;height:8px;border-radius:2px;background:currentColor;transform:translateX(-50%)}

/* A：控えめなソフトオーロラ */
.kyu-ranking-accordion--design-aurora-soft .kyu-ranking-accordion__aurora::before{left:-7%;bottom:-48px;width:54%;height:112px;border-radius:50%;background:radial-gradient(ellipse at 30% 48%,rgba(92,205,244,.23),transparent 63%),radial-gradient(ellipse at 68% 62%,rgba(164,130,244,.16),transparent 62%);filter:blur(7px);transform:rotate(8deg)}
.kyu-ranking-accordion--design-aurora-soft .kyu-ranking-accordion__aurora::after{right:-8%;top:-56px;width:48%;height:116px;border-radius:50%;background:radial-gradient(ellipse at 35% 55%,rgba(116,232,205,.2),transparent 62%),radial-gradient(ellipse at 72% 45%,rgba(211,151,246,.15),transparent 64%);filter:blur(8px);transform:rotate(-8deg)}

/* B：リキッド感を強めたオーロラ */
.kyu-ranking-accordion--design-aurora-liquid .kyu-ranking-accordion__closed-content{border-width:2px;background:linear-gradient(rgba(255,255,255,.965),rgba(255,255,255,.985)) padding-box,linear-gradient(115deg,#43b7ff 0%,#6be7df 24%,#68efb5 42%,#c18cff 67%,#55c7ff 100%) border-box;background-size:100% 100%,250% 250%;box-shadow:0 12px 31px rgba(32,126,160,.14);animation:kyuRankingAuroraBorderFlow 5.2s ease-in-out 1 both}
.kyu-ranking-accordion--design-aurora-liquid .kyu-ranking-accordion__aurora::before{left:-9%;top:-31px;width:118%;height:79px;border-radius:45% 55% 52% 48%/58% 48% 52% 42%;background:radial-gradient(ellipse at 12% 48%,rgba(64,178,255,.42),transparent 36%),radial-gradient(ellipse at 38% 36%,rgba(109,223,238,.34),transparent 38%),radial-gradient(ellipse at 68% 56%,rgba(93,234,183,.34),transparent 38%),radial-gradient(ellipse at 92% 43%,rgba(177,129,251,.28),transparent 36%);filter:blur(5px);transform:rotate(-1.5deg);animation:kyuRankingAuroraWaveTop 5.2s ease-in-out 1 both}
.kyu-ranking-accordion--design-aurora-liquid .kyu-ranking-accordion__aurora::after{right:-10%;bottom:-36px;width:114%;height:88px;border-radius:56% 44% 48% 52%/44% 60% 40% 56%;background:radial-gradient(ellipse at 15% 50%,rgba(154,116,250,.28),transparent 35%),radial-gradient(ellipse at 43% 58%,rgba(70,190,255,.32),transparent 38%),radial-gradient(ellipse at 75% 38%,rgba(100,232,186,.32),transparent 38%),radial-gradient(ellipse at 95% 55%,rgba(71,205,232,.3),transparent 34%);filter:blur(6px);transform:rotate(1.5deg);animation:kyuRankingAuroraWaveBottom 5.2s ease-in-out 1 both}
.kyu-ranking-accordion--design-aurora-liquid .kyu-ranking-accordion__aurora>span::before,.kyu-ranking-accordion--design-aurora-liquid .kyu-ranking-accordion__aurora>span::after{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.82);box-shadow:0 0 10px rgba(91,224,229,.65)}
.kyu-ranking-accordion--design-aurora-liquid .kyu-ranking-accordion__aurora>span::before{right:8%;top:10%}
.kyu-ranking-accordion--design-aurora-liquid .kyu-ranking-accordion__aurora>span::after{left:7%;bottom:12%;width:5px;height:5px}
.kyu-ranking-accordion--design-aurora-liquid .kyu-ranking-accordion__action{background:radial-gradient(circle at 88% 35%,rgba(101,240,194,.14),transparent 24%),linear-gradient(115deg,#0a4b60 0%,#073b4c 56%,#0a5360 100%)}
@keyframes kyuRankingAuroraBorderFlow{0%{background-position:0 0,0% 50%}100%{background-position:0 0,100% 50%}}
@keyframes kyuRankingAuroraWaveTop{0%{transform:translate3d(-2%,2px,0) rotate(-1.5deg)}50%{transform:translate3d(2%,-2px,0) rotate(1deg)}100%{transform:translate3d(0,0,0) rotate(-1.5deg)}}
@keyframes kyuRankingAuroraWaveBottom{0%{transform:translate3d(2%,-1px,0) rotate(1.5deg)}50%{transform:translate3d(-2%,2px,0) rotate(-1deg)}100%{transform:translate3d(0,0,0) rotate(1.5deg)}}

/* C：オーロラ・グラデーション・液体表現を使わないプレーン */
.kyu-ranking-accordion--design-plain .kyu-ranking-accordion__closed-content{border:2px solid #d2d9dc;background:#fff;box-shadow:0 8px 22px rgba(7,59,76,.08);animation:none;transition:none}
.kyu-ranking-accordion--design-plain .kyu-ranking-accordion__aurora{display:none}
.kyu-ranking-accordion--design-plain .kyu-ranking-accordion__action{background:#073b4c;box-shadow:0 5px 13px rgba(7,59,76,.16);animation:none;transition:none}
.kyu-ranking-accordion--design-plain .kyu-ranking-accordion__action-chevron::before{transition:none}
.kyu-ranking-accordion--design-plain:not([open])>.kyu-ranking-accordion__summary:hover .kyu-ranking-accordion__closed-content{transform:none;box-shadow:0 8px 22px rgba(7,59,76,.08)}
.kyu-ranking-accordion--design-plain:not([open])>.kyu-ranking-accordion__summary:hover .kyu-ranking-accordion__action{filter:none;box-shadow:0 5px 13px rgba(7,59,76,.16)}
.kyu-ranking-accordion--design-plain:not([open])>.kyu-ranking-accordion__summary:active .kyu-ranking-accordion__action{transform:none}
.kyu-ranking-accordion--design-plain:not([open])>.kyu-ranking-accordion__summary:hover .kyu-ranking-accordion__action-chevron::before{transform:translateY(-3px) rotate(45deg)}

/* 開いた状態：装飾カードを消して既存早見表へ */
.kyu-ranking-accordion__open-content{display:none;width:100%;min-width:0}
.kyu-ranking-accordion[open] .kyu-ranking-accordion__closed-content{display:none}
.kyu-ranking-accordion[open] .kyu-ranking-accordion__open-content{display:block}
.kyu-ranking-accordion__open-title-row{display:block;width:100%;min-width:0}
.kyu-ranking-accordion__open-title{display:block;min-width:0;color:inherit;font-size:clamp(1.18rem,2vw,1.48rem);font-weight:750;line-height:1.45;text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}
.kyu-ranking-accordion__close-row{display:inline-flex;align-items:center;gap:.48rem;max-width:100%;margin-top:.55rem;padding:.28rem .15rem;color:#073b4c;font-size:.78rem;font-weight:700;line-height:1.35}
.kyu-ranking-accordion__close-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px;border-radius:50%;background:#073b4c;color:#fff}
.kyu-ranking-accordion__close-icon::before{content:"";display:block;width:8px;height:1.5px;border-radius:2px;background:currentColor}
.kyu-ranking-accordion__close-chevron{display:inline-block;width:7px;height:7px;margin-left:.05rem;border-left:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:translateY(2px) rotate(45deg)}
.kyu-ranking-accordion[open]>.kyu-ranking-accordion__summary{margin:0 0 .9rem;padding:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none}
.kyu-ranking-accordion[open].kyu-ranking-accordion--title-swell .kyu-ranking-accordion__open-title-row{padding:.72rem 1rem;border-left:4px solid #073b4c;background:#f4f6f7}
.kyu-ranking-accordion[open].kyu-ranking-accordion--title-simple .kyu-ranking-accordion__open-title-row{padding:0 0 .55rem;border-bottom:2px solid #073b4c;background:transparent}
.kyu-ranking-accordion[open].kyu-ranking-accordion--title-simple .kyu-ranking-accordion__open-title{font-size:clamp(1.1rem,1.8vw,1.4rem)}
.kyu-ranking-accordion__body{width:100%;max-width:100%;min-width:0;margin:0;padding:0;border:0;background:transparent}
.kyu-ranking-accordion__body>.kyu-ranking-quick-table-wrap{margin:0}
.kyu-ranking-accordion[open]>.kyu-ranking-accordion__body{animation:kyuRankingAccordionBodyIn 150ms ease-out both}
@keyframes kyuRankingAccordionBodyIn{from{opacity:.86;transform:translate3d(0,3px,0)}to{opacity:1;transform:translate3d(0,0,0)}}

@media(max-width:782px){
 .kyu-ranking-accordion{margin:1.75rem 0}
 .kyu-ranking-accordion__closed-content{padding:1rem .9rem .9rem;border-radius:8px}
 .kyu-ranking-accordion__topline{margin-bottom:.62rem}
 .kyu-ranking-accordion__eyebrow{min-height:25px;padding:.25rem 0 .25rem .55rem;font-size:.68rem}
 .kyu-ranking-accordion__count{min-height:25px;padding:.25rem .55rem;font-size:.68rem}
 .kyu-ranking-accordion__title{font-size:clamp(1.03rem,4.75vw,1.2rem);line-height:1.45}
 .kyu-ranking-accordion__description{margin-top:.55rem;font-size:.76rem;line-height:1.65}
 .kyu-ranking-accordion__action{grid-template-columns:minmax(0,1fr) 46px;min-height:50px;margin-top:.9rem}
 .kyu-ranking-accordion__action-text{padding:.64rem .65rem;font-size:.86rem}
 .kyu-ranking-accordion__helper{margin-top:.55rem;font-size:.66rem}
 .kyu-ranking-accordion[open]>.kyu-ranking-accordion__summary{margin-bottom:.78rem}
 .kyu-ranking-accordion[open].kyu-ranking-accordion--title-swell .kyu-ranking-accordion__open-title-row{padding:.68rem .78rem}
 .kyu-ranking-accordion__open-title{font-size:clamp(1.02rem,4.6vw,1.2rem)}
 .kyu-ranking-accordion__close-row{margin-top:.45rem;font-size:.72rem}
}
@media(max-width:360px){.kyu-ranking-accordion__closed-content{padding-right:.76rem;padding-left:.76rem}.kyu-ranking-accordion__action-text{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){.kyu-ranking-accordion__closed-content,.kyu-ranking-accordion__action,.kyu-ranking-accordion__action-chevron::before,.kyu-ranking-accordion--design-aurora-liquid .kyu-ranking-accordion__closed-content,.kyu-ranking-accordion--design-aurora-liquid .kyu-ranking-accordion__aurora::before,.kyu-ranking-accordion--design-aurora-liquid .kyu-ranking-accordion__aurora::after,.kyu-ranking-accordion[open]>.kyu-ranking-accordion__body{animation:none!important;transition:none!important}}
