/* Only the new controls need styles. Header, hero, major tabs, headings,
   card frames and sidebars reuse the existing main.css components. */
.ccr-page { --ccr-gold:#C19A2D; --ccr-line:#ddd; --ccr-paper:#FCFAF3; --ccr-muted:#666; min-width:0; background:#fff; color:#333; font-family:"Noto Sans JP",Meiryo,sans-serif; }
.ccr-page [hidden] { display:none !important; }
.ccr-page button, .ccr-page input { font:inherit; }
.ccr-page button { cursor:pointer; }
.ccr-page button:disabled { cursor:default; opacity:.5; }
.ccr-page :focus-visible { outline:3px solid #246ab0; outline-offset:3px; }
.ccr-page section, .ccr-page article, .ccr-page h2[id] { scroll-margin-top:24px; }
.ccr-page .l-article { min-width:0; }
.ccr-content { font-size:1.4rem; line-height:1.8; }
.ccr-content p { margin:0 0 18px; }
.ccr-content h2 { line-height:1.5; font-weight:700; }
.ccr-content a:not([class]) { color:#005c99; text-decoration:underline; text-underline-offset:3px; }
.ccr-skip { position:absolute; top:0; left:16px; transform:translateY(-130%); z-index:1000; background:#fff; padding:12px; font-size:1.4rem; }
.ccr-skip:focus { transform:none; }
.ccr-child-tabs { display:flex; gap:10px; padding:14px 0; border-bottom:1px solid #ddd; }
.ccr-child-tabs a { display:flex; flex:1; justify-content:center; align-items:center; min-height:46px; padding:10px 8px; border:1px solid #C19A2D; border-radius:5px; background:#fff; color:#6C5A30; text-align:center; font-size:1.4rem; line-height:1.5; font-weight:700; }
.ccr-child-tabs a[aria-current] { background:#C19A2D; color:#fff; }
.ccr-child-tabs a:hover { opacity:.8; }
.ccr-main .c-mv05--top .c-mv05__title__mainLabel { display:flex; flex-direction:column; align-items:center; gap:6px; }
.ccr-main .c-mv05--top .c-mv05__title__mainLabel > br { display:none; }
.ccr-main .c-mv05--top .c-mv05__title__mainLabel .main-text { margin-bottom:0; line-height:1; }
.ccr-main .c-mv05--top .c-mv05__title__mainLabel .is-bold { display:inline-flex; justify-content:center; gap:6px; margin-left:0; font-size:4.8rem; line-height:1; font-weight:700; letter-spacing:0; }
.ccr-main .c-mv05--top .c-mv05__title__mainLabel .is-bold > span { display:flex; align-items:center; justify-content:center; width:60px; height:60px; padding:0; }
.ccr-main .c-mv05--top .c-mv05__title__mainLabel .is-bold > span + span { margin-left:0; }
.ccr-card-logos { overflow:hidden; }
.ccr-card-logos .c-mv02new2__marquee01 { width:max-content; }
.ccr-card-logos .c-mv02new2__marquee01__item { flex-shrink:0; }
.ccr-card-logos .c-mv02new2__marquee01__item__image { display:block; }
/* Keep the official portrait card face inside the existing company frame. */
.ccr-card[data-card-id="cosmo-card-opus"] .c-ranking__image img { width:auto; height:100%; max-width:100%; object-fit:contain; }
.ccr-lead { margin:22px 0 !important; font-size:1.6rem; }
.ccr-editor-line { color:#666; font-size:1.2rem; }
.ccr-entry-routes { font-size:1.3rem; }
.ccr-page-shortcuts { display:flex; gap:10px; margin:18px 0; }
.ccr-page-shortcuts a { display:flex; flex:1; align-items:center; justify-content:center; gap:6px; min-width:0; min-height:44px; padding:10px 12px; border:1px solid #C19A2D; border-radius:4px; background:#FCFAF3; color:#6C5A30; font-size:1.4rem; font-weight:700; line-height:1.5; text-align:center; text-decoration:underline; text-underline-offset:3px; }
.ccr-page-shortcuts a:hover { background:#f5eedc; }
.ccr-content .ccr-first-guide,.ccr-content .ccr-second-guide { margin:0 0 20px; font-size:1.4rem; }
.ccr-first-guide h2,.ccr-second-guide h2 { border:0; padding:0; margin:0 0 10px; font-size:1.8rem; }
.ccr-first-guide ul,.ccr-second-guide ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; list-style:none; padding:0; margin:0; }
.ccr-first-guide li,.ccr-second-guide li { min-width:0; }
.ccr-first-guide li strong,.ccr-second-guide li strong { display:block; color:#6C5A30; font-weight:700; }
.ccr-content .ccr-first-guide p,.ccr-content .ccr-second-guide p { margin:10px 0 0; }
.ccr-card .ccr-first-reason { margin:0 0 16px; padding:12px 16px; border-left:0; background:#FCFAF3; font-size:1.4rem; line-height:1.8; }
.ccr-first-reason strong { display:block; margin-bottom:4px; color:#8B671A; font-weight:700; }
.ccr-toc { display:flex; flex-direction:column; gap:0; margin:0 0 40px; padding:20px; border:1px solid #ddd; background:#fafafa; font-size:1.5rem; }
.ccr-toc a { flex:none; display:block; min-width:0; min-height:32px; padding:6px 0; line-height:1.6; color:#333; text-decoration:underline; text-underline-offset:3px; white-space:normal; }
.ccr-toc a + a { border-top:2px dotted #ccc; }
.ccr-page-contents { margin:18px 0 28px; }
.ccr-main .ccr-page-contents .ccr-toc { margin:0; border:0; }
[data-creditcard-recommendation="second"] .ccr-lead { font-size:1.4rem; }
[data-creditcard-recommendation="second"] .ccr-toc { padding:15px 18px; margin-bottom:30px; }
.ccr-section-heading { margin-bottom:24px; }
.ccr-eyebrow { margin-bottom:6px !important; color:#8B671A; font-size:1.2rem; font-weight:700; }
.ccr-note { color:#666; font-size:1.2rem; line-height:1.8; }
.ccr-notice { border-left:0; background:#FCFAF3; padding:15px; font-size:1.3rem; }
.ccr-source { color:#666; font-size:1.1rem; margin:16px 0 0 !important; overflow-wrap:anywhere; }
.ccr-source a, .ccr-benefits small a, .ccr-comparison small a { color:#005c99; text-decoration:underline; }
.ccr-evidence { margin:14px 0; color:#666; font-size:1.2rem; }
.ccr-evidence summary { cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.ccr-evidence ul { margin:8px 0 0; padding-left:20px; }
.ccr-evidence li + li { margin-top:6px; }
.ccr-evidence a { color:#005c99; text-decoration:underline; overflow-wrap:anywhere; }
.ccr-table-scroll { overflow-x:auto; border:1px solid #ccc; margin-top:20px; }
.ccr-table-scroll table { border-collapse:collapse; width:100%; line-height:1.7; font-size:1.3rem; background:#fff; }
.ccr-table-scroll caption { text-align:left; padding:10px 15px; color:#666; background:#fafafa; font-size:1.2rem; }
.ccr-table-scroll th,.ccr-table-scroll td { padding:12px 15px; border-top:1px solid #ccc; border-right:1px solid #ccc; text-align:left; vertical-align:top; }
.ccr-table-scroll th:last-child,.ccr-table-scroll td:last-child { border-right:0; }
.ccr-table-scroll thead th { background:#C19A2D; color:#fff; font-weight:700; white-space:nowrap; }
.ccr-table-scroll tbody th { background:#faf6eb; min-width:170px; }
.ccr-quick-card-image,.ccr-comparison-card-image { display:block; width:120px; max-width:100%; height:76px; margin:0 0 8px; object-fit:contain; }
.ccr-content .ccr-first-quick-help { display:flex; flex-wrap:wrap; gap:0 16px; margin-bottom:8px; color:#666; font-size:1.2rem; }
.ccr-first-quick-scroll { max-height:480px; overflow:auto; overscroll-behavior:contain; margin-top:0; scrollbar-gutter:stable; }
.ccr-first-quick-scroll .ccr-quick-table { min-width:660px; border-collapse:separate; border-spacing:0; table-layout:fixed; word-break:normal; overflow-wrap:anywhere; }
.ccr-first-quick-name-col { width:22%; }
.ccr-first-quick-facts-col { width:28%; }
.ccr-quick-table th,.ccr-quick-table td { padding:10px 12px; }
.ccr-quick-table thead th { position:sticky; top:0; z-index:2; border-top:0; white-space:normal; box-shadow:0 1px #ccc; }
.ccr-quick-table thead th:first-child { left:0; z-index:3; }
.ccr-quick-table tbody th { position:sticky; left:0; z-index:1; min-width:0; box-shadow:1px 0 #ccc; }
.ccr-first-quick-use { display:block; margin-bottom:4px; font-weight:700; }
.ccr-selection-role { display:inline-block; max-width:100%; margin-bottom:6px; padding:2px 7px; border:1px solid #e5d6ac; border-radius:3px; background:#FCFAF3; color:#6C5A30; font-size:1.2rem; font-weight:700; line-height:1.5; }
.ccr-content .ccr-quick-actions { margin:16px 0 0; }
.ccr-quick-note { display:block; color:#555; font-size:1.2rem; }
.ccr-quick-mobile-facts,.ccr-quick-mobile-label { display:none; }
.ccr-quick-facts { display:flex; flex-wrap:wrap; gap:5px 12px; margin:0; font-size:1.2rem; }
.ccr-quick-facts > div { display:flex; flex-wrap:wrap; gap:0 5px; }
.ccr-quick-facts dt { font-weight:700; }
.ccr-quick-facts dt::after { content:"："; }
.ccr-quick-facts dd { margin:0; }
.ccr-example-nav { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; }
.ccr-example-nav a { padding:6px 14px; border:1px solid #C19A2D; border-radius:4px; color:#6C5A30; font-size:1.3rem; text-decoration:underline; text-underline-offset:3px; }
.ccr-example { margin:10px 0; padding:0; scroll-margin-top:24px; }
.ccr-example h3 { margin:0; font-size:1.6rem; line-height:1.6; font-weight:700; }
.ccr-content .ccr-example-assumption { margin-bottom:12px; color:#555; }
.ccr-example-table-scroll { margin:0 0 16px; }
.ccr-example-table { table-layout:fixed; overflow-wrap:anywhere; }
.ccr-example-name-col { width:25%; }
.ccr-example-reward-col { width:22%; }
.ccr-example-table thead th { white-space:normal; }
.ccr-example-table tbody th { min-width:0; }
.ccr-example-table .ccr-quick-card-image { width:80px; height:51px; }
.ccr-example-table small { display:block; margin-top:8px; color:#666; font-size:1.2rem; line-height:1.6; font-weight:400; }
.ccr-example-amount { display:block; color:#6C5A30; font-size:1.9rem; line-height:1.3; font-weight:700; }
.ccr-example-method { padding:16px; background:#fafafa; font-size:1.2rem; }
.ccr-content .ccr-example-method p { margin-bottom:8px; }
.ccr-content .ccr-example-method p:last-child { margin-bottom:0; }
.ccr-content .ccr-combination-help { display:flex; flex-wrap:wrap; gap:0 8px; margin-bottom:8px; color:#666; font-size:1.2rem; }
.ccr-js .ccr-combination-controls.ccr-enhanced { display:none; margin-bottom:10px; }
.ccr-combination-view { display:none; }
.ccr-combination-horizontal-help { display:none; }
.ccr-combination-why .ccr-related-link { padding-top:6px; }
.ccr-combination-scroll { max-height:480px; overflow:auto; overscroll-behavior:contain; margin-top:0; scrollbar-gutter:stable; }
.ccr-combination-scroll .ccr-combination-table { min-width:720px; border-collapse:separate; border-spacing:0; table-layout:fixed; word-break:normal; overflow-wrap:anywhere; }
.ccr-combination-owned-col { width:30%; }
.ccr-combination-table thead th { position:sticky; top:0; z-index:2; border-top:0; box-shadow:0 1px #ccc; }
.ccr-combination-table thead th:first-child { left:0; z-index:3; }
.ccr-combination-table tbody th { position:sticky; left:0; z-index:1; min-width:0; text-align:left; white-space:normal; box-shadow:1px 0 #ccc; }
.ccr-combination-table tbody tr:nth-child(even) td { background:#fafafa; }
.ccr-combination-table strong { display:block; font-weight:700; }
.ccr-combination-use { display:block; margin-top:5px; color:#555; font-size:1.2rem; font-weight:400; }
.ccr-combination-table small { display:block; margin-top:4px; color:#777; font-size:1.1rem; line-height:1.6; font-weight:400; }
.ccr-combination-detail { border:0; padding:0; background:none; color:#005c99; text-decoration:underline; text-underline-offset:3px; text-align:left; font-weight:700 !important; line-height:1.7; }
.ccr-js .ccr-combination-fallback { display:none; }
.ccr-combination-explanation-link { display:block; margin-top:8px; color:#005c99; font-size:1.2rem; font-weight:400; text-decoration:underline; text-underline-offset:3px; }
.ccr-content .ccr-combination-explanation { margin:0; }
.ccr-combination-disclosure { margin:10px 0; }
.ccr-combination-summary { flex:1; min-width:0; }
.ccr-combination-summary h3 { margin:0 0 12px; font-size:1.7rem; font-weight:700; line-height:1.5; overflow-wrap:anywhere; }
.ccr-combination-faces { display:flex; flex-wrap:wrap; gap:10px 16px; }
.ccr-combination-face { display:flex; flex-direction:column; align-items:center; gap:4px; width:84px; min-width:0; color:#666; text-align:center; font-size:1.2rem; line-height:1.4; font-weight:400; }
.ccr-combination-face img { width:72px; height:46px; object-fit:contain; }
.ccr-combination-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; padding-bottom:14px; border-bottom:1px solid #ddd; }
.ccr-combination-tabs button { flex:0 1 auto; min-height:44px; padding:8px 14px; border:1px solid #C19A2D; border-radius:4px; background:#fff; color:#6C5A30; line-height:1.5; font-weight:700; }
.ccr-combination-tabs button[aria-selected="true"] { background:#C19A2D; color:#fff; }
.ccr-combination-tabs button:hover { opacity:.8; }
.ccr-combination-explanation[role="tabpanel"]:focus { outline:3px solid #246ab0; outline-offset:4px; }
.ccr-disclosure > summary::after { flex-shrink:0; }
.ccr-combination-roles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; list-style:none; padding:0; margin:20px 0; }
.ccr-combination-roles[data-card-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ccr-combination-condition { display:block; width:fit-content; max-width:100%; padding:4px 7px; margin-bottom:8px; background:#f4f0e4; color:#6C5A30; font-size:1.3rem; line-height:1.5; font-weight:700; }
.ccr-combination-role-position .ccr-combination-condition { margin:6px 0 0; }
.ccr-combination-brand { display:block; margin-top:5px; font-size:1.2rem; font-weight:400; }
.ccr-content .ccr-combination-guard { padding:12px 14px; background:#FCFAF3; font-size:1.3rem; line-height:1.8; }
.ccr-combination-guard strong { display:block; margin-bottom:3px; font-weight:700; }
.ccr-combination-no-addition { vertical-align:middle; }
.ccr-combination-evidence { margin-top:12px; }
.ccr-combination-evidence > div { padding:12px 0; }
.ccr-combination-roles > li { display:grid; grid-template-areas:"position" "image" "body" "actions"; grid-template-rows:auto 100px 1fr auto; gap:10px; min-width:0; padding:16px; background:#fafafa; }
.ccr-content .ccr-combination-role-position { grid-area:position; margin:0; color:#8B671A; font-size:1.3rem; font-weight:700; }
.ccr-combination-role-image { grid-area:image; display:block; width:160px; max-width:100%; height:100px; object-fit:contain; }
.ccr-combination-role-body { grid-area:body; min-width:0; }
.ccr-combination-role-name { margin:0 0 8px; min-height:48px; font-size:1.6rem; line-height:1.5; font-weight:700; }
.ccr-combination-role-name .ccr-combination-detail { min-height:44px; font-size:inherit; justify-content:flex-start; text-align:left; }
.ccr-content .ccr-combination-role-use { margin:0 0 6px; font-weight:700; }
.ccr-combination-role-use span { display:inline-block; max-width:100%; }
.ccr-content .ccr-combination-role-reward { margin:0; color:#555; font-size:1.3rem; line-height:1.7; }
.ccr-combination-rate { white-space:nowrap; }
.ccr-content .ccr-combination-role-fee { margin:8px 0 0; color:#666; font-size:1.2rem; line-height:1.7; }
.ccr-combination-role-actions { grid-area:actions; display:flex; justify-content:center; }
.ccr-combination-role-actions .ccr-button { max-width:100%; }
.ccr-combination-why { padding:16px; background:#FCFAF3; }
.ccr-combination-why h3 { margin:0 0 12px; font-size:1.7rem; font-weight:700; }
.ccr-combination-why ul { list-style:none; padding:0; margin:0; }
.ccr-combination-why li + li { margin-top:12px; padding-top:12px; border-top:1px dotted #ccc; }
.ccr-combination-why strong { display:block; margin-bottom:5px; font-weight:700; }
.ccr-content .ccr-combination-why p { margin:0; }
.ccr-content .ccr-combination-explanation-note { margin:12px 0 0; }
.ccr-comparison-frame { border:1px solid #ccc; margin-top:20px; }
.ccr-comparison-caption { padding:10px 15px; color:#666; background:#fafafa; font-size:1.2rem; line-height:1.7; }
.ccr-comparison-frame > .ccr-table-scroll { border:0; margin-top:0; max-height:520px; overflow:auto; overscroll-behavior:contain; }
.ccr-comparison { min-width:1580px; }
.ccr-comparison thead th { position:sticky; top:0; z-index:2; }
.ccr-comparison thead th:first-child { left:0; z-index:3; box-shadow:1px 0 #ccc; }
.ccr-comparison tbody th { min-width:210px; max-width:250px; position:sticky; left:0; z-index:1; }
.ccr-comparison td { min-width:140px; }
.ccr-comparison td:last-child { min-width:330px; }
.ccr-comparison ul { list-style:none; padding:0; margin:0; }
.ccr-comparison li + li { margin-top:12px; }
.ccr-comparison small { font-size:1.1rem; }
.ccr-comparison-benefits strong,.ccr-comparison-benefits span { display:block; }
.ccr-comparison-benefits span { color:#555; }
.ccr-comparison .ccr-comparison-benefits li + li { margin-top:8px; }
.ccr-content .ccr-comparison-more { margin:8px 0 0; color:#666; font-size:1.2rem; }
.ccr-comparison .ccr-comparison-fallback { display:block; margin:12px 0 0; }
.ccr-js .ccr-comparison .ccr-text-button { display:block; margin:12px 0 0; text-align:left; }
.ccr-js .ccr-comparison .ccr-comparison-fallback { display:none; }
.ccr-comparison-scroll { max-height:440px; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.ccr-comparison-scroll .ccr-comparison-simple { width:100%; min-width:740px; border-collapse:separate; border-spacing:0; table-layout:fixed; word-break:normal; overflow-wrap:anywhere; }
.ccr-compare-name-col { width:190px; }
.ccr-compare-fee-col { width:170px; }
.ccr-compare-points-col { width:150px; }
.ccr-comparison-simple thead th { position:sticky; top:0; z-index:2; border-top:0; white-space:normal; box-shadow:0 1px #ccc; }
.ccr-comparison-simple thead th:first-child { left:0; z-index:3; }
.ccr-comparison-simple tbody th { position:sticky; left:0; z-index:1; min-width:0; box-shadow:1px 0 #ccc; }
.ccr-comparison-simple .ccr-text-button { display:block; margin-top:8px; }
.ccr-comparison-simple ul { list-style:none; margin:0; padding:0; }
.ccr-comparison-simple li + li { margin-top:6px; }
.ccr-comparison-simple small { display:block; margin-top:6px; font-size:1.1rem; color:#666; }
.ccr-disclosure { border:1px solid #ddd; background:#fff; }
.ccr-disclosure > summary { display:flex; align-items:center; gap:6px; padding:14px 16px; font-size:1.4rem; font-weight:700; line-height:1.5; cursor:pointer; list-style:none; }
.ccr-disclosure > summary::-webkit-details-marker { display:none; }
.ccr-disclosure > summary::after { content:"＋"; margin-left:auto; color:#8B671A; font-size:1.8rem; font-weight:400; }
.ccr-disclosure[open] > summary::after { content:"−"; }
.ccr-disclosure[open] > summary { border-bottom:1px solid #ddd; }
.ccr-disclosure__body { padding:16px; }
.ccr-disclosure__body > p:last-child { margin-bottom:0; }
.ccr-result-disclosure { border:0; }
.ccr-result-disclosure > summary { border:1px solid #ddd; margin-bottom:15px; }
.ccr-result-disclosure > summary span,.ccr-disclosure > summary [data-comparison-count] { color:#666; font-size:1.2rem; font-weight:400; }
.ccr-content .ccr-related-link { font-size:1.3rem; margin:16px 0 0; }
.ccr-heading-phrase { display:inline-block; }
.ccr-article-guides { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ccr-article-guide { display:flex; flex-direction:column; min-width:0; padding:18px; border:1px solid #ddd; background:#FCFAF3; }
.ccr-article-guide h3 { margin:0 0 10px; font-size:1.7rem; line-height:1.6; font-weight:700; }
.ccr-content .ccr-article-guide p { margin:0 0 14px; }
.ccr-article-button { display:flex; align-items:center; justify-content:center; gap:8px; min-height:52px; margin-top:auto; padding:10px 12px; border:1px solid #C19A2D; border-radius:4px; background:#fff; color:#6C5A30; font-size:1.6rem; line-height:1.5; font-weight:700; text-align:center; text-decoration:none; }
.ccr-article-button span:first-child { min-width:0; }
.ccr-article-button span[aria-hidden] { flex-shrink:0; }
.ccr-article-button:hover { background:#f5eedc; }
.ccr-guide { margin:0 0 22px; padding:0; list-style:none; }
.ccr-guide li { padding:10px 0 10px 16px; border-left:0; }
.ccr-guide li + li { margin-top:10px; }
.ccr-guide strong { display:block; font-size:1.5rem; }
.ccr-guide span { display:block; margin-top:3px; color:#666; font-size:1.3rem; }
.ccr-method-details { font-size:1.2rem; }
.ccr-card-grid { display:block; }
.ccr-purpose-card-list { margin-top:20px; }
/* All candidates have the same frame: no backgrounds indicating a rank. */
.ccr-card > .c-ranking__inner { background:#fafafa !important; }
.ccr-card:nth-of-type(even) > .c-ranking__inner { background:#fff !important; }
/* Preserve the original company-card header, fee strip, feature box and table. */
.ccr-card { font-size:1rem; line-height:1.5; }
.ccr-card p { margin:0; }
.ccr-card .c-ranking__product { margin:0; }
.ccr-card .c-ranking__rate { min-height:40px; height:auto; }
.ccr-card .c-ranking__rate__title { flex-shrink:0; }
.ccr-card .c-ranking__rate__text { min-height:38px; overflow-wrap:anywhere; }
.ccr-card .c-ranking__rate__text .is-text { padding:5px 0; }
#kariire-pickup-recommendations .c-ranking__cv { display:block; }
.ccr-card .c-ranking__evaluation { clear:both; }
.ccr-card .c-ranking__evaluation__features .ccr-benefits span { display:block; color:#666; font-weight:400; font-size:1.3rem; line-height:1.7; margin-top:5px; }
.ccr-card .c-ranking__evaluation__features .ccr-benefits small { display:block; font-weight:400; font-size:1.1rem; line-height:1.7; margin-top:5px; }
.ccr-card .c-ranking__name2 { margin-top:10px; font-weight:400; }
.ccr-card .c-ranking__table__list { list-style:none; padding:0; }
.ccr-card .c-ranking__table__list > li > span { overflow-wrap:anywhere; }
.ccr-card .ccr-repeat-conditions { clear:both; margin:16px 0 0; }
.ccr-repeat-conditions .c-ranking__bottom { margin:0; padding:0; }
.ccr-repeat-conditions .c-ranking__table { margin-top:0; }
.ccr-repeat-conditions h4 { margin:20px 0 8px; font-size:1.4rem; font-weight:700; }
.ccr-repeat-conditions .ccr-benefits li { margin-bottom:14px; font-size:1.4rem; font-weight:700; }
.ccr-repeat-conditions .ccr-benefits span { display:block; margin-top:5px; color:#666; font-size:1.3rem; font-weight:400; line-height:1.7; }
.ccr-card--additional .ccr-benefit-summary li { font-size:1.5rem; line-height:1.6; margin-bottom:7px; }
.ccr-card--additional .c-ranking__evaluation__features > .ccr-note { font-size:1.2rem; font-weight:400; margin-top:8px; }
.ccr-card--additional .ccr-card__use-summary { font-size:1.3rem; line-height:1.7; }
.ccr-card--additional .ccr-card__use-summary strong { color:#333; }
.ccr-card__conditions { margin-top:8px; }
.ccr-card__conditions > summary { cursor:pointer; color:#005c99; font-size:1.3rem; text-decoration:underline; text-underline-offset:3px; }
.ccr-card__conditions > div { margin-top:12px; padding:12px; background:#fff; border:1px solid #ddd; font-size:1.3rem; }
.ccr-card__conditions .ccr-benefits li { margin-bottom:12px; }
.ccr-card__conditions .ccr-benefits strong { display:block; font-weight:700; color:#333; }
.ccr-card__conditions .ccr-benefits span { display:block; margin-top:4px; font-size:1.2rem; }
.ccr-card__conditions .ccr-reasons { margin:14px 0; }
.ccr-card__conditions .ccr-reasons p { font-size:1.2rem; margin-top:8px; }
.ccr-card__conditions .ccr-reasons h4 { font-size:1.3rem; color:#333; }
.ccr-benefits { list-style:none; padding:0; margin:0; }
.ccr-dialog .ccr-benefits li { padding:12px 0; border-bottom:1px dotted #ddd; font-size:1.3rem; }
.ccr-dialog .ccr-benefits li:last-child { border-bottom:0; }
.ccr-dialog .ccr-benefits strong { display:block; padding-left:20px; position:relative; font-size:1.6rem; font-weight:700; }
.ccr-dialog .ccr-benefits strong::before { content:"・"; position:absolute; left:0; color:#C19A2D; }
.ccr-dialog .ccr-benefits span { display:block; color:#666; margin:6px 0 0 20px; }
.ccr-dialog .ccr-benefits small { display:block; font-size:1.1rem; margin:6px 0 0 20px; }
.ccr-facts { margin:20px 0; border:1px solid #ccc; background:#fff; font-size:1.3rem; }
.ccr-facts > div { display:grid; grid-template-columns:120px 1fr; border-bottom:1px solid #ccc; }
.ccr-facts > div:last-child { border-bottom:0; }
.ccr-facts dt { font-weight:700; background:#f1eee5; padding:12px; border-right:1px solid #ccc; }
.ccr-facts dd { margin:0; padding:12px; }
.ccr-card__actions { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:15px; margin-top:24px; }
.ccr-button { position:relative; display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:10px 20px; border:1px solid #e31c3d; border-radius:25px; background:#e31c3d; color:#fff; font-size:1.4rem; font-weight:700; text-align:center; text-decoration:none; line-height:1.5; }
.ccr-button:hover { opacity:.8; }
.ccr-button--light { background:#fff; color:#666; border-color:#999; }
.ccr-text-button { border:0; background:none; color:#666; text-decoration:underline; text-underline-offset:3px; font-size:1.2rem; padding:3px 0; }
.ccr-reading > h3 { margin:40px 0 20px; padding:10px 0 10px 15px; border-left:0; font-size:2rem; font-weight:700; }
.ccr-inline-link { color:#005c99; text-decoration:underline; font-weight:700; }
.ccr-combo-grid { display:block; margin:24px 0; }
.ccr-combo { border-top:2px solid #EEE3C4; padding:28px 0; }
.ccr-combo h3 { font-size:2rem; font-weight:700; margin-bottom:14px; }
.ccr-three-roles { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:24px 0; }
.ccr-three-roles article { background:#FCFAF3; padding:20px; border:1px solid #E5D6AC; }
.ccr-three-roles span { color:#8B671A; font-size:1.2rem; }
.ccr-three-roles h3 { font-size:1.6rem; font-weight:700; margin:10px 0; }
.ccr-three-roles p { font-size:1.3rem; margin-bottom:0; }
.ccr-faq details { border-bottom:1px solid #ddd; }
.ccr-faq summary { padding:20px 4px; cursor:pointer; font-size:1.5rem; font-weight:700; }
.ccr-faq details p { padding:0 18px 20px; }
.ccr-method { padding:25px; background:#fafafa; border:1px solid #ddd; }
.ccr-method h2.c-heading01 { font-size:2rem; padding-bottom:15px; margin-bottom:20px; }
.ccr-method p { font-size:1.2rem; }
.ccr-method h3,.ccr-method-details h3 { margin:20px 0 10px; font-size:1.5rem; font-weight:700; }
.ccr-selector-section .ccr-section-heading { margin-bottom:12px; }
.ccr-selector-section .ccr-selector-intro { margin-bottom:14px; }
.ccr-fieldset { border:1px solid #ddd; padding:14px 16px 16px; margin:0; min-width:0; }
.ccr-fieldset legend { font-weight:700; padding:0 6px; font-size:1.4rem; }
.ccr-fieldset legend small,.ccr-purpose-details summary small { color:#666; font-size:1.2rem; font-weight:400; margin-left:6px; }
.ccr-selected-head { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.ccr-selected-head p { margin:0; font-size:1.2rem; font-weight:700; }
.ccr-selected { display:flex; flex-wrap:wrap; gap:6px; padding:6px 0 12px; }
.ccr-selected .ccr-note { margin:0; }
.ccr-selected-card { background:#faf6eb; color:#6C5A30; border:1px solid #C19A2D; font-size:1.2rem; min-height:36px; padding:5px 10px; border-radius:4px; text-align:left; }
.ccr-search-label { display:block; font-size:1.4rem; font-weight:700; margin-bottom:8px; }
.ccr-search-row { display:flex; gap:12px; align-items:center; margin-bottom:10px; }
.ccr-search { display:flex; flex:1; min-width:0; gap:8px; align-items:center; border:1px solid #aaa; padding:0 12px; background:#fff; }
.ccr-search span { font-size:1.8rem; }
.ccr-search input { box-sizing:border-box; border:0; background:#fff; width:100%; height:44px; min-height:44px; padding:8px 0; min-width:0; color:#333; font-size:1.4rem; }
.ccr-search input:focus-visible { outline-offset:0; }
.ccr-fieldset > .ccr-note { margin-top:8px; }
.ccr-search-row [data-search-summary] { margin:0; flex-shrink:0; font-size:1.2rem; color:#666; }
.ccr-owned-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; max-height:216px; overflow-y:auto; padding:3px; scrollbar-gutter:stable; }
.ccr-owned-option { display:flex; gap:8px; align-items:flex-start; min-height:44px; min-width:0; border:1px solid #ddd; border-radius:4px; padding:8px; font-size:1.3rem; line-height:1.5; cursor:pointer; }
.ccr-owned-option > span { min-width:0; overflow-wrap:anywhere; }
.ccr-owned-option:has(:checked) { border-color:#C19A2D; background:#FCFAF3; }
.ccr-owned-option input { width:18px; height:18px; flex:0 0 18px; margin-top:2px; accent-color:#C19A2D; }
.ccr-owned-option small { display:block; font-size:1.1rem; color:#666; margin-top:2px; }
.ccr-purpose-details { margin-top:12px; border:1px solid #ddd; }
.ccr-purpose-details summary { display:flex; align-items:center; gap:12px; padding:12px 16px; font-size:1.4rem; font-weight:700; line-height:1.5; list-style:none; cursor:pointer; }
.ccr-purpose-details summary::-webkit-details-marker { display:none; }
.ccr-purpose-details summary > span:first-child { flex:1; }
.ccr-purpose-details summary::after { content:"＋"; color:#8B671A; font-size:1.8rem; font-weight:400; }
.ccr-purpose-details[open] summary::after { content:"−"; }
.ccr-purpose-summary { font-size:1.2rem; font-weight:400; color:#666; }
.ccr-purpose-selector { border:0; padding:0 16px 14px; }
.ccr-purpose-selector > .ccr-note { margin:0 0 8px; }
.ccr-purpose-options { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 8px; }
.ccr-purpose-options label { cursor:pointer; display:flex; align-items:center; gap:6px; min-height:40px; border:1px solid #ddd; border-radius:4px; padding:7px 10px; font-size:1.3rem; }
.ccr-purpose-options label:has(:checked) { background:#FCFAF3; border-color:#C19A2D; }
.ccr-purpose-options input { width:17px; height:17px; accent-color:#C19A2D; }
.ccr-selector-actions { display:flex; justify-content:center; margin-top:14px; }
.ccr-show-results { display:inline-flex; justify-content:center; align-items:center; gap:4px; min-height:44px; min-width:260px; padding:10px 20px; border:1px solid #C19A2D; border-radius:4px; background:#C19A2D; color:#fff; font-size:1.4rem; font-weight:700; }
.ccr-page .ccr-show-results:disabled { opacity:1; background:#f0f0f0; border-color:#ddd; color:#777; }
.ccr-selector-section .ccr-selector-note { margin:10px 0 0; color:#666; font-size:1.1rem; line-height:1.7; }
.ccr-empty { padding:25px; border:1px solid #ddd; background:#FCFAF3; margin-top:24px; }
.ccr-empty h3 { font-size:1.8rem; font-weight:700; margin-bottom:12px; }
.ccr-empty a { color:#005c99; text-decoration:underline; }
.ccr-reasons { margin-bottom:15px; }
.ccr-reasons h4, .ccr-card__usage h4 { margin:0 0 8px; font-weight:700; }
.ccr-reasons p { font-size:1.4rem; }
.ccr-reasons p:last-child { margin-bottom:0; }
.ccr-tag { display:block; color:#8B671A; font-size:1.2rem; font-weight:700; }
.ccr-card__usage { margin-bottom:15px; }
.ccr-card__usage p { font-size:1.4rem; }
.ccr-more { margin:30px auto 0; display:flex; min-width:280px; background:#fff; color:#666; border-color:#999; }
.ccr-dialog { width:min(860px,calc(100% - 30px)); max-height:85dvh; padding:30px; border:0; background:#fff; color:#333; font-size:1.4rem; line-height:1.8; }
.ccr-dialog::backdrop { background:#0009; }
.ccr-dialog__controls { position:sticky; top:-30px; z-index:2; display:flex; justify-content:flex-end; padding:10px 0; background:#fff; }
.ccr-dialog__actions { display:flex; justify-content:center; margin-top:20px; }
.ccr-detail-head { display:flex; gap:30px; align-items:center; margin:15px 0 25px; }
.ccr-detail-head .ccr-card__image { width:140px; flex-basis:140px; }
.ccr-detail-head .ccr-card__image img { width:100%; height:auto; }
.ccr-detail-head h2 { font-size:2.4rem; font-weight:700; }
.ccr-dialog h3 { font-size:1.8rem; font-weight:700; }
.ccr-modal-open { overflow:hidden; }
.ccr-enhanced { display:none; }
.ccr-js .ccr-enhanced { display:inline-flex; }
.ccr-js .ccr-more { display:flex; }
.ccr-page footer.global { display:block; }
.ccr-page footer.global .inner { min-width:0; padding-inline:24px; }
.ccr-page footer.global .inner > div,.ccr-page footer.global .copyright { width:min(1040px,100%); }
.ccr-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media (min-width:1024px) {
  .ccr-toc__card-name { display:inline-block; white-space:nowrap; text-decoration:underline; }
}
@media (min-width:768px) {
  .ccr-page .l-structure { min-width:0; }
  .ccr-page .l-header__menu { display:none; }
  .ccr-main .c-rankinglistnav-slot { align-self:stretch; }
}
@media (min-width:768px) and (max-width:1399px) {
  .ccr-page .l-header__inner { width:100%; }
  .ccr-main.l-main:has(.c-rankinglistnav--leftRail) { width:100%; padding:0 20px 80px; gap:20px; }
  .ccr-main .c-rankinglistnav-slot { display:none; }
  .ccr-main.l-main:has(.c-rankinglistnav--leftRail) .l-article { flex:1; width:auto; }
  .ccr-main .c-mv05--top { width:100%; min-width:0; }
  .ccr-main .c-mv05__title { flex-basis:355px; }
}
@media (min-width:768px) and (max-width:1199px) {
  .ccr-main.l-main[data-creditcard-recommendation="second"] { width:100%; padding:0 20px 80px; gap:20px; }
  .ccr-main[data-creditcard-recommendation="second"] .l-article { flex:1; width:auto; }
  .ccr-main[data-creditcard-recommendation="second"] .l-sub { display:none; }
  .ccr-main.l-main:has(.c-rankinglistnav--leftRail) .l-sub { display:none; }
  .ccr-main .c-mv05--top { padding-left:45px; padding-right:20px; }
  .ccr-main .c-mv05--top .c-mv05__title__mainLabel .main-text { font-size:3.6rem; }
  .ccr-main .c-mv05__image { flex:0 0 430px; }
  .ccr-owned-options { grid-template-columns:1fr 1fr; }
  #kariire-pickup-recommendations .c-ranking__btn2 { display:none; }
}
@media (min-width:900px) {
  #kariire-pickup-recommendations .c-ranking__title { max-width:calc(100% - 450px); }
  #kariire-pickup-recommendations .c-ranking__cv { position:absolute; top:30px; right:30px; width:240px; margin-top:0; }
}
@media (max-width:899px) {
  #kariire-pickup-recommendations .c-ranking__cv { position:static; clear:both; width:auto; margin-top:20px; }
  #kariire-pickup-recommendations .c-ranking__cvBtn { max-width:410px; margin-inline:auto; }
}
@media (min-width:768px) and (max-width:899px) {
  #kariire-pickup-recommendations .c-ranking__title { max-width:calc(100% - 170px); }
}
@media (min-width:768px) and (max-width:899px) {
  .ccr-main .c-mv05__image { margin-left:-120px; transform:scale(.72); transform-origin:right bottom; }
}
@media (max-width:767px) {
  .ccr-page .l-main { display:block; }
  .ccr-page .l-sub { display:none; }
  .ccr-content { font-size:1.4rem; }
  .ccr-child-tabs { gap:6px; padding:10px 0; }
  .ccr-child-tabs a { font-size:1.2rem; min-height:42px; padding:8px 4px; }
  .ccr-main .c-mv05--top .c-mv05__title__mainLabel { gap:4px; }
  .ccr-main .c-mv05--top .c-mv05__title__mainLabel .is-bold { gap:4px; font-size:3.6rem; }
  .ccr-main .c-mv05--top .c-mv05__title__mainLabel .is-bold > span { width:44px; height:44px; }
  .ccr-main .c-mv05--top .c-mv05__image__list { margin-top:11px; }
  .ccr-page .c-tab01new3__item { width:25%; flex:1 1 25%; }
  .ccr-lead { margin:18px 0 !important; font-size:1.4rem; }
  .ccr-page-shortcuts { gap:8px; margin:14px 0; }
  .ccr-page-shortcuts a { padding:8px; }
  .ccr-quick-actions { flex-direction:column; }
  .ccr-article-guides { grid-template-columns:1fr; gap:12px; }
  .ccr-article-guide { padding:14px; }
  .ccr-first-guide ul,.ccr-second-guide ul { grid-template-columns:1fr; gap:5px; }
  .ccr-first-guide li strong,.ccr-second-guide li strong { display:inline; margin-right:8px; }
  .ccr-main .ccr-toc { flex-direction:column; gap:0; padding:8px 12px; font-size:1.5rem; margin-bottom:25px; }
  .ccr-main .ccr-toc a { flex:none; display:block; min-height:32px; padding:4px 0; line-height:1.5; }
  .ccr-card .c-ranking__rate { min-height:35px; }
  .ccr-card .c-ranking__rate__text { min-height:33px; }
  .ccr-card__actions .ccr-button { width:100%; font-size:1.3rem; }
  .ccr-dialog .ccr-benefits strong { font-size:1.4rem; }
  .ccr-dialog .ccr-benefits span,.ccr-dialog .ccr-benefits small { margin-left:0; }
  .ccr-facts > div { grid-template-columns:85px 1fr; }
  .ccr-facts dt,.ccr-facts dd { padding:10px; }
  .ccr-reading > h3 { margin:30px 0 15px; font-size:1.8rem; }
  .ccr-combo h3 { font-size:1.8rem; }
  .ccr-three-roles { grid-template-columns:1fr; }
  .ccr-fieldset { padding:12px 10px; }
  .ccr-fieldset legend { font-size:1.3rem; }
  .ccr-search-row { gap:8px; }
  .ccr-search { padding:0 8px; }
  .ccr-search input { font-size:1.4rem; }
  .ccr-owned-options { grid-template-columns:1fr; max-height:200px; }
  .ccr-owned-option { min-height:44px; }
  .ccr-selected-card { min-height:44px; }
  .ccr-purpose-details summary { flex-wrap:wrap; gap:4px 8px; padding:10px 12px; font-size:1.3rem; }
  .ccr-purpose-summary { order:3; flex-basis:100%; }
  .ccr-purpose-selector { padding:0 12px 12px; }
  .ccr-purpose-options label { min-height:44px; font-size:1.2rem; }
  .ccr-show-results { width:100%; min-width:0; }
  .ccr-comparison tbody th { min-width:145px; max-width:170px; }
  .ccr-comparison-card-image { width:90px; height:57px; }
  .ccr-table-scroll th,.ccr-table-scroll td { padding:12px; }
  .ccr-first-quick-scroll { max-height:420px; }
  .ccr-first-quick-scroll .ccr-quick-table { width:100%; min-width:0; }
  .ccr-first-quick-name-col { width:100px; }
  .ccr-quick-table .ccr-quick-card-image { width:80px; height:51px; }
  .ccr-first-quick-facts-col,.ccr-quick-desktop-fact { display:none; }
  .ccr-quick-table th,.ccr-quick-table td { padding:10px 8px; }
  .ccr-quick-mobile-label { display:inline; }
  .ccr-quick-mobile-facts { display:block; margin-top:6px; padding-top:6px; border-top:1px dotted #ccc; }
  .ccr-quick-mobile-facts .ccr-quick-facts { gap:3px 10px; }
  .ccr-example h3 { font-size:1.6rem; }
  .ccr-example-name-col { width:30%; }
  .ccr-example-reward-col { width:25%; }
  .ccr-example-table .ccr-quick-card-image { width:64px; height:41px; }
  .ccr-example-table th,.ccr-example-table td { padding:10px 8px; font-size:1.2rem; }
  .ccr-example-table small { font-size:1.1rem; }
  .ccr-example-amount { font-size:1.7rem; }
  .ccr-combination-scroll { max-height:420px; }
  .ccr-combination-scroll .ccr-combination-table { width:min(660px,calc(200% - 140px)); min-width:100%; }
  .ccr-combination-owned-col { width:140px; }
  .ccr-combination-horizontal-help { display:inline; }
  .ccr-js .ccr-combination-horizontal-help { display:none; }
  .ccr-js .ccr-combination-controls.ccr-enhanced { display:flex; }
  .ccr-combination-view { display:flex; width:100%; gap:6px; }
  .ccr-combination-view button { flex:1; min-height:42px; padding:8px 6px; border:1px solid #C19A2D; border-radius:3px; background:#fff; color:#6C5A30; font-size:1.3rem; font-weight:700; }
  .ccr-combination-view button[aria-pressed="true"] { background:#C19A2D; color:#fff; }
  .ccr-js .ccr-combination-scroll .ccr-combination-table { width:100%; min-width:0; }
  .ccr-js .ccr-combination-owned-col { width:38%; }
  .ccr-js [data-combination-view="pair"] .ccr-combination-table col:nth-child(3),
  .ccr-js [data-combination-view="pair"] .ccr-combination-table tr > :nth-child(3) { display:none; }
  .ccr-js [data-combination-view="triple"] .ccr-combination-owned-col { width:30%; }
  .ccr-js [data-combination-view="triple"] .ccr-combination-table thead th { padding:10px 6px; }
  .ccr-js [data-combination-view="triple"] .ccr-combination-table tbody th,
  .ccr-js [data-combination-view="triple"] .ccr-combination-table tbody td { padding:12px 8px; }
  .ccr-combination-table .ccr-quick-card-image { width:90px; height:57px; }
  .ccr-combination-table thead th { white-space:normal; }
  .ccr-combination-roles,.ccr-combination-roles[data-card-count="2"] { grid-template-columns:1fr; gap:10px; margin:16px 0; }
  .ccr-combination-roles > li { grid-template-areas:"image position" "image body" "actions actions"; grid-template-columns:100px minmax(0,1fr); grid-template-rows:auto 1fr auto; gap:4px 12px; padding:12px; }
  .ccr-combination-role-actions { margin-top:10px; }
  .ccr-combination-role-image { width:100px; height:64px; margin-top:4px; }
  .ccr-combination-role-name { min-height:0; margin-bottom:4px; font-size:1.5rem; }
  .ccr-combination-summary h3 { margin-bottom:10px; font-size:1.6rem; }
  .ccr-combination-faces { gap:8px 10px; }
  .ccr-combination-face { width:64px; font-size:1.2rem; }
  .ccr-combination-face img { width:60px; height:38px; }
  .ccr-combination-tabs { gap:6px; }
  .ccr-combination-tabs button { flex:1 1 auto; padding:8px 10px; font-size:1.3rem; }
  .ccr-combination-why { padding:14px; }
  .ccr-comparison-scroll { max-height:400px; }
  .ccr-compare-name-col { width:140px; }
  .ccr-disclosure > summary { padding:12px; font-size:1.3rem; }
  .ccr-disclosure__body { padding:12px; }
  .ccr-disclosure > summary [data-results-total],.ccr-disclosure > summary [data-comparison-count] { font-size:1.1rem; }
  .ccr-guide strong { font-size:1.4rem; }
  .ccr-card--additional .ccr-benefit-summary li { font-size:1.4rem; }
  .ccr-card__conditions > div { padding:10px; }
  .ccr-method { padding:20px 15px; }
  .ccr-method h2.c-heading01 { margin:0 0 15px; }
  .ccr-dialog { padding:15px; width:calc(100% - 20px); }
  .ccr-dialog__controls { top:-15px; }
  .ccr-detail-head { flex-direction:column; align-items:stretch; gap:15px; }
  .ccr-detail-head .ccr-card__image { width:100%; flex-basis:auto; }
  .ccr-detail-head h2 { font-size:1.8rem; }
}
@media (max-width:374px) {
  .ccr-compare-name-col { width:110px; }
  .ccr-compare-points-col { width:140px; }
  .ccr-page .l-header__lead2 { left:132px; max-width:132px; }
  .ccr-page .l-header__lead2__text { font-size:.8rem; }
  .ccr-main .c-mv05--top .c-mv05__title,
  .ccr-main .c-mv05--top .c-mv05__title__subLabel { width:200px; }
  .ccr-main .c-mv05--top .c-mv05__title__mainLabel .main-text { font-size:2.2rem; }
  .ccr-main .c-mv05--top .c-mv05__title__text { font-size:1.1rem; }
  .ccr-main .c-mv05__image__image { top:auto; bottom:0; height:140px; }
  .ccr-main .c-mv05__image__list { width:184px; gap:8px; }
  .ccr-main .c-mv05__image__list li { width:56px; height:56px; flex:0 0 56px; margin:0; font-size:.9rem; }
}
