/* ronin-choice.php 専用
   既卒生の予備校・塾選び：長文を抑え、カード・循環図・アコーディオンで読みやすくする
*/

.rc-badge {
    background:#f4f8fc;
    color:#062852;
    font-weight:700;
    border:1px solid #cce0ff;
    margin-bottom:15px;
    display:inline-block;
}

.rc-hero-title {
    font-family:'Noto Serif JP', serif;
    font-size:26px;
    line-height:1.45;
    margin-bottom:20px;
}

.rc-target {
    text-align:left;
    max-width:650px;
    margin:25px auto 0;
    padding:20px 25px;
}

.rc-target h2,
.rc-resource-card h2 {
    margin:0 0 10px;
    color:#062852;
    font-size:15px;
    font-weight:700;
}

.rc-target .dot-list {
    margin:0;
    font-size:13.5px;
    line-height:1.7;
}

.rc-main-image { margin-bottom:30px; }

.rc-lead {
    font-size:14.5px;
    line-height:1.9;
    color:#444;
    margin:0 0 18px;
}

.rc-two-cards {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
    margin:28px 0 18px;
}

.rc-mini-card,
.rc-point-card,
.rc-sub-card,
.rc-neutral-summary {
    border:1px solid #d8e2ec;
    border-radius:8px;
    background:#fff;
    padding:22px;
}

.rc-card-kicker,
.rc-section-label {
    display:inline-block;
    color:#46627f;
    font-size:12px;
    font-weight:700;
    letter-spacing:.06em;
    margin-bottom:7px;
}

.rc-mini-card h3,
.rc-point-card h3,
.rc-sub-card h3,
.rc-neutral-summary h3 {
    color:#062852;
    font-family:'Noto Serif JP', serif;
    font-size:16px;
    line-height:1.6;
    margin:0 0 8px;
}

.rc-mini-card p,
.rc-point-card p,
.rc-sub-card p,
.rc-neutral-summary p {
    color:#444;
    font-size:13.5px;
    line-height:1.8;
    margin:0;
}

.rc-details {
    border-top:1px solid #d8e2ec;
    border-bottom:1px solid #d8e2ec;
    margin:20px 0 0;
    background:#fafcfe;
}

.rc-details + .rc-details { border-top:0; margin-top:0; }

.rc-details summary {
    cursor:pointer;
    list-style:none;
    padding:15px 42px 15px 16px;
    color:#062852;
    font-size:13.5px;
    font-weight:700;
    position:relative;
}

.rc-details summary::-webkit-details-marker { display:none; }

.rc-details summary::after {
    content:"+";
    position:absolute;
    right:17px;
    top:50%;
    transform:translateY(-50%);
    font-size:20px;
    font-weight:400;
    color:#46627f;
}

.rc-details[open] summary::after { content:"−"; }

.rc-details-body {
    padding:0 16px 16px;
    color:#444;
    font-size:13.5px;
    line-height:1.8;
}

.rc-details-body p { margin:0 0 10px; }
.rc-details-body p:last-child { margin-bottom:0; }
.rc-details-body ul { margin:0; padding-left:1.3em; }
.rc-details-body li + li { margin-top:5px; }

.rc-simple-flow,
.rc-kodo-flow {
    display:flex;
    align-items:stretch;
    justify-content:center;
    gap:10px;
    margin:26px 0 18px;
}

.rc-simple-flow > div,
.rc-kodo-flow > div {
    flex:1;
    min-width:0;
    border:1px solid #cbd9e7;
    border-radius:8px;
    padding:16px 12px;
    text-align:center;
    background:#fff;
}

.rc-simple-flow strong,
.rc-kodo-flow strong {
    display:block;
    color:#062852;
    font-family:'Noto Serif JP', serif;
    font-size:15px;
    margin-bottom:5px;
}

.rc-simple-flow div span,
.rc-kodo-flow div span {
    display:block;
    color:#555;
    font-size:12px;
    line-height:1.6;
}

.rc-arrow,
.rc-kodo-flow > span {
    align-self:center;
    color:#7890a8;
    font-size:20px;
    flex:0 0 auto;
}

.rc-cycle-card {
    margin:28px 0;
    padding:26px;
    border:1px solid #bfcfe0;
    border-radius:10px;
    background:linear-gradient(180deg, #f7fafd 0%, #ffffff 100%);
}

.rc-cycle-label {
    color:#46627f;
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    margin-bottom:12px;
}

.rc-cycle-main {
    display:flex;
    align-items:stretch;
    gap:7px;
}

.rc-cycle-step {
    flex:1;
    min-width:0;
    padding:14px 8px;
    border:1px solid #d5e0eb;
    border-radius:7px;
    background:#fff;
    text-align:center;
}

.rc-cycle-step strong {
    display:block;
    color:#062852;
    font-family:'Noto Serif JP', serif;
    font-size:14px;
    margin-bottom:4px;
}

.rc-cycle-step span {
    display:block;
    color:#666;
    font-size:10.5px;
    line-height:1.5;
}

.rc-cycle-accent {
    border-width:2px;
    border-color:#718aa4;
}

.rc-cycle-arrow {
    align-self:center;
    color:#7890a8;
    font-size:18px;
}

.rc-daily-cycle {
    margin-top:22px;
    padding-top:20px;
    border-top:1px dashed #bdcbd9;
}

.rc-daily-cycle p {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:8px;
    margin:0;
    color:#062852;
    font-size:13.5px;
    line-height:1.8;
}

.rc-daily-cycle p span { color:#7890a8; }

.rc-cycle-note {
    margin:18px 0 0;
    text-align:center;
    color:#333;
    font-size:13.5px;
    font-weight:700;
    line-height:1.8;
}

.rc-point-card { margin:22px 0 0; border-left:4px solid #718aa4; }
.rc-sub-card { margin:22px 0 0; background:#fafcfe; }

.rc-check-list {
    list-style:none;
    padding:0;
    margin:22px 0 0;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
}

.rc-check-list li {
    position:relative;
    padding:13px 14px 13px 36px;
    border:1px solid #d8e2ec;
    border-radius:7px;
    color:#444;
    font-size:13px;
    line-height:1.6;
    background:#fff;
}

.rc-check-list li::before {
    content:"✓";
    position:absolute;
    left:14px;
    top:12px;
    color:#46627f;
    font-weight:700;
}

.rc-cost-highlight {
    margin:24px 0 20px;
    padding:18px 20px;
    border:2px solid #7890a8;
    border-radius:9px;
    text-align:center;
    background:#f8fbfd;
}

.rc-cost-highlight span {
    display:block;
    color:#667b91;
    font-size:11.5px;
    font-weight:700;
    margin-bottom:5px;
}

.rc-cost-highlight strong {
    display:block;
    color:#062852;
    font-family:'Noto Serif JP', serif;
    font-size:18px;
    line-height:1.6;
}

.rc-cost-grid {
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:8px;
    margin:20px 0;
}

.rc-cost-grid span {
    padding:11px 8px;
    border:1px solid #d8e2ec;
    border-radius:6px;
    background:#fff;
    color:#444;
    font-size:12px;
    font-weight:700;
    text-align:center;
}

.rc-question-card {
    margin:22px 0 26px;
    padding:22px 24px;
    border:1px solid #d2dfed;
    border-radius:8px;
    background:#f7fafd;
}

.rc-question-card ul { margin:0; padding-left:1.3em; }
.rc-question-card li {
    color:#333;
    font-size:13.5px;
    line-height:1.75;
}
.rc-question-card li + li { margin-top:8px; }

.rc-neutral-summary {
    border-top:3px solid #718aa4;
    background:#fff;
}

.rc-kodo-section {
    margin-top:0;
}

.rc-kodo-flow {
    margin-top:24px;
}

.rc-kodo-principle {
    margin:24px 0;
    padding:18px 20px;
    border-left:4px solid #062852;
    background:#f4f8fc;
    color:#333;
    font-size:14px;
    line-height:1.8;
}

.rc-kodo-principle strong,
.rc-kodo-principle span {
    display:block;
}

.rc-primary-links {
    margin-top:26px;
    text-align:center;
}

.rc-primary-links .btn {
    display:inline-block;
    max-width:420px;
    width:100%;
    font-size:14px;
}

.rc-text-link {
    display:block;
    width:max-content;
    max-width:100%;
    margin:15px auto 0;
    color:#062852;
    font-size:13px;
    font-weight:700;
    text-decoration:underline;
}

.rc-resource-section { margin-top:34px; }

.rc-resource-card {
    max-width:700px;
    margin:0 auto;
    padding:24px;
}

.rc-resource-card p {
    color:#555;
    font-size:13.5px;
    line-height:1.8;
    margin:0 0 18px;
}

.rc-resource-btn {
    display:inline-block;
    max-width:360px;
    width:100%;
    font-size:14px;
}

.rc-related {
    margin-top:50px;
    padding-top:36px;
    border-top:1px solid #d2dfed;
}

.rc-home-link {
    margin-top:0;
    padding-top:0;
    margin-bottom:25px;
}

.rc-home-link a {
    font-family:'Noto Serif JP', serif;
    font-size:15px;
    color:#062852;
    font-weight:700;
    text-decoration:underline;
    display:inline-block;
    padding:10px;
}

@media (max-width: 767px) {
    .rc-hero-title { font-size:23px; }

    .rc-target { padding:18px; }

    .rc-two-cards,
    .rc-check-list {
        grid-template-columns:1fr;
    }

    .rc-simple-flow,
    .rc-kodo-flow {
        flex-direction:column;
        gap:7px;
    }

    .rc-arrow,
    .rc-kodo-flow > span {
        transform:rotate(90deg);
        align-self:center;
        line-height:1;
    }

    .rc-cycle-card { padding:20px 14px; }

    .rc-cycle-main {
        display:grid;
        grid-template-columns:1fr;
        gap:6px;
    }

    .rc-cycle-arrow {
        transform:rotate(90deg);
        justify-self:center;
        line-height:1;
    }

    .rc-cycle-step { padding:12px 10px; }

    .rc-daily-cycle p {
        gap:5px;
        font-size:12px;
    }

    .rc-cost-grid {
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .rc-cost-highlight strong { font-size:16px; }
}

@media (max-width: 420px) {
    .rc-cost-grid { grid-template-columns:1fr; }
}


/* 「できなかった問題」カード内の詳細トグル */
.rc-point-card-with-details {
    padding-bottom:0;
    overflow:hidden;
}

.rc-inline-details {
    margin:18px -22px 0;
    border-top:1px solid #d8e2ec;
    background:#fafcfe;
}

.rc-inline-details summary {
    cursor:pointer;
    list-style:none;
    position:relative;
    padding:14px 44px 14px 22px;
    color:#062852;
    font-size:13px;
    font-weight:700;
}

.rc-inline-details summary::-webkit-details-marker {
    display:none;
}

.rc-inline-details summary::after {
    content:"+";
    position:absolute;
    right:22px;
    top:50%;
    transform:translateY(-50%);
    color:#46627f;
    font-size:20px;
    font-weight:400;
}

.rc-inline-details[open] summary::after {
    content:"−";
}

.rc-inline-details-body {
    padding:0 22px 18px;
    color:#444;
    font-size:13px;
    line-height:1.8;
}

.rc-inline-details-body ul {
    margin:0;
    padding-left:1.3em;
}

.rc-inline-details-body li + li {
    margin-top:5px;
}

@media (max-width: 767px) {
    .rc-inline-details {
        margin-left:-22px;
        margin-right:-22px;
    }
}


/* 主CTAを邪魔しない相談導線 */
.rc-contact-link {
    margin-top:9px;
    font-weight:500;
    font-size:12.5px;
}
