/*
Theme Name: 介護ソフト比較 移行テーマ
Version: 0.1.3
Description: 元の記事とURLの移行確認用。読みやすい本文と共通メニュー。
*/
:root { color-scheme: light; --ink:#203441; --muted:#536774; --blue:#146482; --line:#dbe7eb; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:#f4f8fa; font:16px/1.85 system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif; }
a { color:var(--blue); text-underline-offset:.2em; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible { outline:3px solid #f1a636; outline-offset:4px; }
.cgn-skip { position:absolute; left:1em; top:-5em; z-index:1000; background:white; padding:.6em; }
.cgn-skip:focus { top:1em; }
.cgn-header { background:white; border-top:4px solid var(--blue); border-bottom:1px solid var(--line); }
.cgn-header-inner { max-width:1120px; margin:auto; padding:25px 32px 0; }
.cgn-brand { font-size:clamp(21px,3vw,29px); font-weight:750; text-decoration:none; color:var(--ink); }
.cgn-nav { display:flex; flex-wrap:wrap; gap:0 24px; list-style:none; padding:0; margin:20px 0 0; }
.cgn-nav li { margin:0; }
.cgn-nav a { display:block; padding:11px 0; text-decoration:none; font-weight:600; }
.cgn-mobile-menu { display:none; }
.cgn-mobile-menu summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:9px; color:var(--blue); font-size:14px; font-weight:700; min-height:44px; padding:8px 12px; border:1px solid var(--line); border-radius:7px; background:#fff; }
.cgn-mobile-menu summary::-webkit-details-marker { display:none; }
.cgn-mobile-menu summary:focus-visible { outline:3px solid #f1a636; outline-offset:3px; }
.cgn-menu-icon { display:flex; flex-direction:column; gap:4px; width:20px; }
.cgn-menu-icon span { display:block; height:2px; width:20px; background:currentColor; }
@media(max-width:767px) {
 .cgn-header-inner { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:18px 20px; }
 .cgn-brand { font-size:clamp(18px,4.5vw,25px); }
 .cgn-desktop-menu { display:none; }
 .cgn-mobile-menu { display:block; margin-left:auto; }
 .cgn-mobile-menu[open] { flex-basis:100%; }
 .cgn-mobile-menu[open] summary { width:max-content; margin-left:auto; }
 .cgn-mobile-menu .cgn-nav { display:block; margin:12px 0 0; padding:0; border-top:1px solid var(--line); }
 .cgn-mobile-menu .cgn-nav a { padding:12px 8px; border-bottom:1px solid var(--line); }
}
.cgn-shell { max-width:960px; margin:40px auto; padding:0 24px; }
.cgn-article { background:white; border:1px solid var(--line); border-radius:12px; padding:clamp(22px,5vw,54px); }
.cgn-title { font-size:clamp(25px,3.6vw,35px); line-height:1.5; margin:0 0 32px; padding-bottom:20px; border-bottom:3px solid #d9edf2; }
.cgn-body, .cgn-body .cgn-migration-content { font-size:17px; line-height:1.95; color:var(--ink); }
.cgn-body #main, .cgn-body #main-body { width:auto; max-width:100%; margin:0; }
.cgn-body img { max-width:100%; height:auto; }
.cgn-body a.cgn-ranking-button { display:block; width:100%; max-width:560px; margin:18px auto 24px; padding:16px 22px; border-radius:10px; background:linear-gradient(#1cb97b,#039659); box-shadow:0 5px 0 #087e4f; color:#fff!important; font-size:17px; font-weight:750; line-height:1.6; text-align:center; text-decoration:none!important; overflow-wrap:anywhere; }
.cgn-body a.cgn-ranking-button:hover { filter:brightness(.96); }
.cgn-body p { margin:0 0 1.35em; }
.cgn-body h2 { font-size:1.4em; line-height:1.6; margin:2em 0 .85em; }
.cgn-body h3 { font-size:1.2em; line-height:1.6; margin:1.7em 0 .7em; }
.cgn-body table { max-width:100%; border-collapse:collapse; }
.cgn-body td, .cgn-body th { padding:8px; border:1px solid var(--line); }
.cgn-body ul, .cgn-body ol { padding-left:1.5em; }
.cgn-footer { background:#e7f0f3; border-top:1px solid var(--line); margin-top:48px; }
.cgn-footer-inner { max-width:960px; margin:auto; padding:26px 32px; }
.cgn-footer p { font-weight:700; margin:0 0 10px; }
.cgn-footer nav { display:flex; flex-wrap:wrap; gap:12px 24px; font-size:14px; }
@media(max-width:600px) { .cgn-nav { gap:0 17px; font-size:14px; } .cgn-shell { margin:20px auto; padding:0 12px; } .cgn-body,.cgn-body .cgn-migration-content { font-size:16px; } .cgn-title { margin-bottom:22px; } }

.cgn-body #main{width:auto;max-width:100%;margin:0}.cgn-body img{max-width:100%;height:auto}.cgn-body table{width:100%;border-collapse:collapse}.cgn-body th,.cgn-body td{padding:12px;vertical-align:top;border:1px solid #dbe6e9}.csw-date{font-size:.9em;color:#52666e}.cgn-body section{margin-block:2em}.cgn-body a.cgn-ranking-button{display:inline-block;padding:14px 22px;background:#12975a;color:white;text-decoration:none;border-radius:8px;font-weight:700;box-sizing:border-box;max-width:100%}.cgn-body a.cgn-ranking-button:hover{background:#087b48}.cgn-body a.cgn-ranking-button:focus-visible{outline:3px solid #123f50;outline-offset:3px}
@media(max-width:767px){.cgn-body table.ritm thead{display:none}.cgn-body table.ritm,.cgn-body table.ritm tbody,.cgn-body table.ritm tr,.cgn-body table.ritm td{display:block;width:auto}.cgn-body table.ritm td{margin-bottom:18px}.cgn-body table.dsc2item{font-size:13px}.cgn-body th,.cgn-body td{padding:8px}.cgn-body a.cgn-ranking-button{display:block;text-align:center}}

.cgn-brand-mobile{display:none}
@media(max-width:767px){
 .cgn-header-inner{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:12px;align-items:center;padding:16px 20px;position:relative}
 .cgn-brand{min-width:0;font-size:clamp(16px,4.3vw,21px);line-height:1.5}
 .cgn-brand-desktop{display:none}.cgn-brand-mobile{display:block}
 .cgn-mobile-menu,.cgn-mobile-menu[open]{margin:0;grid-column:2;grid-row:1;align-self:center}
 .cgn-mobile-menu summary,.cgn-mobile-menu[open] summary{width:44px;min-height:44px;padding:10px;justify-content:center;margin:0}
 .cgn-mobile-menu summary>span:last-child{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .cgn-mobile-menu>nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 8px 14px #20344118;padding:0 20px 12px;z-index:50}
}
