/* CMS用途別紹介・新規詳細ページとdevelopのCMS代表例に限定 */
body.cms-page .cms-hero { background:linear-gradient(125deg,#eef5f2,#f7f8f2); align-items:start; gap:32px; padding:38px; }
body.cms-page .cms-site-preview { min-width:0; margin:0; align-self:center; }
body.cms-page .cms-site-preview img { display:block; width:100%; height:auto; border:1px solid #c5d5ce; border-radius:9px; box-shadow:0 15px 35px #123b681c; }
body.cms-page .cms-site-preview figcaption { margin:14px 0 0; font-size:12px; line-height:1.9; color:#526778; }
body.cms-page .cms-index-hero { padding:48px; background:#eef4f1; border:1px solid #cbdcd4; border-radius:18px; }
body.cms-page #center .cms-index-hero h1.site-title-local { margin:12px 0 20px; padding:0; width:auto; border:0; background:none; font-size:clamp(30px,3.7vw,48px); color:#123b68; line-height:1.5; text-align:left; font-weight:800; }
body.cms-page #center .cms-index-hero h1::after { content:none; }
body.cms-page #center .cms-index-hero p { padding:0; margin:0 0 18px; font-size:16px; line-height:1.9; color:#24384d; }
body.cms-page #center .cms-index-hero p.recruit-kicker { font-size:12px; color:#1f6f68; letter-spacing:.09em; }
body.cms-page #center .cms-index-hero p.cms-index-lead { font-size:22px; font-weight:700; color:#1f6f68; }
body.cms-page .cms-index-strip { display:flex; flex-wrap:wrap; gap:12px; border-top:1px solid #c5d7cc; padding-top:24px; margin-top:28px; }
body.cms-page .cms-index-strip span { font-size:13px; padding:8px 12px; border:1px solid #b8cfc3; background:#fff; border-radius:4px; }
body.cms-page .cms-index-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
body.cms-page .cms-index-card { min-width:0; border:1px solid #cbd9e1; border-radius:12px; overflow:hidden; background:#fff; }
body.cms-page .cms-card-image { display:block; background:#f0f4f6; border-bottom:1px solid #cad9e5; }
body.cms-page .cms-card-image img { display:block; width:100%; height:auto; aspect-ratio:1.44; object-fit:cover; object-position:top; }
body.cms-page .cms-card-copy { padding:28px; }
body.cms-page #center #detailID p.cms-card-audience { font-size:12px; color:#1f6f68; margin-bottom:12px; }
body.cms-page #detailID .cms-card-copy h3 a { color:#123b68; text-decoration:none; }
body.cms-page #detailID .cms-card-copy h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
body.cms-page #center #detailID p.cms-card-fields { padding-top:15px; border-top:1px solid #d5e1e4; font-size:13px; color:#526778; }
body.cms-page .cms-topic-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
body.cms-page .cms-topic-grid article { min-width:0; padding:26px; border:1px solid #cad9e5; border-radius:10px; background:#f8fafb; }
body.cms-page #center #detailID .cms-topic-grid h3 { font-size:21px; }
body.cms-page #center #detailID .cms-topic-grid article p:last-child { margin-bottom:0; }
body.cms-page #center #detailID .cms-wide-screen { margin:24px 0 30px; }
body.cms-page .cms-wide-screen img { display:block; width:100%; height:auto; border:1px solid #c6d4dc; border-radius:8px; }
body.cms-page .cms-screen-pair { display:grid; grid-template-columns:minmax(0,1fr) 230px; gap:30px; align-items:start; }
body.cms-page .cms-screen-pair figure { min-width:0; }
body.cms-page .cms-screen-pair img { display:block; width:100%; height:auto; border:1px solid #c6d4dc; border-radius:8px; }
body.cms-page .cms-phone-preview { max-width:230px; }
body.cms-page .cms-photo-detail { display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:start; }
body.cms-page .cms-photo-detail img { display:block; width:100%; height:auto; border-radius:8px; }
body.cms-page .cms-related { margin-top:24px!important; padding-top:20px!important; border-top:1px solid #c6d8df; }
body.develop-page-v2 .cms-develop-examples { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:28px 0 0; }
body.develop-page-v2 .cms-develop-card { padding:26px; border:1px solid #cad9e5; border-radius:12px; background:#f5f9fa; min-width:0; }
body.develop-page-v2 #detailID .cms-develop-card h3 { font-size:22px; line-height:1.6; }
body.develop-page-v2 #detailID .cms-develop-card p { font-size:15px; line-height:1.85; }
body.develop-page-v2 .cms-develop-card figure { margin:22px 0 0; }
body.develop-page-v2 .cms-develop-card img { display:block; width:100%; height:auto; border:1px solid #cad9e5; border-radius:7px; }
body.develop-page-v2 #detailID .cms-develop-card figcaption { padding:0; margin:8px 0 0; font-size:12px; line-height:1.8; color:#5b6c7e; }
body.develop-page-v2 .cms-develop-index { display:flex; gap:28px; align-items:center; justify-content:space-between; margin:24px 0 36px; padding:25px; border:1px solid #bdd6cb; border-radius:10px; background:#edf6f1; }
body.develop-page-v2 #detailID .cms-develop-index h3 { font-size:20px; margin:0 0 12px; }
body.develop-page-v2 #detailID .cms-develop-index p { font-size:14px; margin:0; }
body.develop-page-v2 .cms-develop-index > div { min-width:0; }
body.develop-page-v2 .cms-develop-index > a { flex-shrink:0; }
@media(max-width:980px) {
 body.cms-page .cms-hero { grid-template-columns:1fr; padding:32px; }
 body.cms-page .cms-site-preview { max-width:760px; }
 body.develop-page-v2 .cms-develop-index { flex-direction:column; align-items:flex-start; }
}
@media(max-width:767px) {
 body.cms-page .cms-index-hero { padding:28px 20px; border-radius:12px; }
 body.cms-page #center .cms-index-hero h1.site-title-local { font-size:31px; }
 body.cms-page #center .cms-index-hero p.cms-index-lead { font-size:18px; }
 body.cms-page .cms-hero { padding:26px 20px; }
 body.cms-detail-page #center .recruit-hero h1.site-title-local { font-size:clamp(26px,8vw,32px); }
 body.cms-page .cms-index-grid, body.cms-page .cms-topic-grid, body.cms-page .cms-screen-pair, body.cms-page .cms-photo-detail, body.develop-page-v2 .cms-develop-examples { grid-template-columns:1fr; }
 body.cms-page .cms-card-copy, body.cms-page .cms-topic-grid article, body.develop-page-v2 .cms-develop-card { padding:22px 18px; }
 body.cms-page .cms-screen-pair { gap:24px; }
 body.cms-page .cms-phone-preview { margin-left:auto!important; margin-right:auto!important; }
 body.cms-page .cms-index-strip { gap:8px; padding-top:18px; }
 body.cms-page .cms-index-strip span { font-size:12px; }
 body.develop-page-v2 .cms-develop-index { padding:22px 18px; }
 body.develop-page-v2 .cms-develop-index > a { max-width:100%; }
}
