.case-placement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ws-golden-card-gap,14px)}
.case-placement-card{min-width:0;overflow:hidden;border:1px solid #d7e5ed;border-radius:8px;background:#fff}
.case-placement-card a{display:block;height:100%;color:#09283c;text-decoration:none}
.case-placement-visual{position:relative;height:var(--ws-golden-card-image-height,150px);overflow:hidden;background:#eef6fa}
.case-placement-visual img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.case-placement-noimage{display:flex;align-items:flex-end;width:100%;height:100%;padding:18px;background:linear-gradient(145deg,#edf7fb,#dceef6);color:#168ec9;font:700 12px/1.4 Lato,sans-serif;letter-spacing:.12em}
.case-placement-body{padding:var(--ws-golden-card-body-pad,16px 18px 18px)}
.case-placement-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.case-placement-tags span{padding:4px 8px;border-radius:3px;background:#eff8fc;color:#168ec9;font-size:9px;font-weight:700;letter-spacing:.04em}
.case-placement-category{margin:0 0 8px;color:#168ec9;font-size:10px;font-weight:700;letter-spacing:.06em}
.case-placement-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.case-placement-meta .case-placement-category{margin:0}
.case-placement-meta time{flex:none;color:#78909c;font:700 9px/1.5 Lato,sans-serif;letter-spacing:.04em}
.case-placement-card h3{position:relative;margin:0 0 8px;padding-right:20px;font-size:var(--ws-golden-card-title-size,17px);line-height:1.45}
.case-placement-arrow{position:absolute;right:0;top:0;color:#168ec9;font-size:20px;font-weight:400;transition:transform .25s ease}
.case-placement-customer{margin:0 0 12px;color:#496778;font-size:11px;font-weight:600;line-height:1.7}
.case-placement-description{margin:0;color:#617b89;font-size:10px;line-height:1.75}
.case-placement-card a:hover .case-placement-visual img{transform:scale(1.015)}
.case-placement-card a:hover .case-placement-arrow{transform:translateX(5px)}
.case-placement-section{margin-left:var(--side-w);background:#f5fafd}
.case-placement-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:34px}
.case-placement-heading span{display:block;margin-bottom:10px;color:#168ec9;font:700 11px/1.4 Lato,sans-serif;letter-spacing:.14em}
.case-placement-heading h2{margin:0;color:#09283c;font-size:clamp(28px,3vw,42px);line-height:1.35}
.case-placement-heading>a{padding-bottom:6px;border-bottom:1px solid #168ec9;color:#168ec9;font-size:12px;font-weight:700;text-decoration:none}
.case-placement-empty{margin:0;padding:36px;border-top:1px solid #d7e5ed;border-bottom:1px solid #d7e5ed;color:#617b89;font-size:14px}
.case-placement-grid-catalog{margin-top:30px}
.case-detail-main{margin-left:var(--side-w);padding:72px clamp(28px,6vw,96px) 120px;background:#fff}
.case-detail-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;max-width:1320px;margin:0 auto 58px;color:#78909c;font-size:11px}
.case-detail-breadcrumb a{color:#168ec9;text-decoration:none}
.case-detail-breadcrumb b{font-weight:500}
#case-detail-root{max-width:1320px;margin:0 auto}
.case-detail-header{max-width:980px;margin-bottom:48px}
.case-detail-kicker{display:flex;gap:18px;margin:0 0 22px;color:#168ec9;font:700 12px/1.5 Lato,'Noto Sans JP',sans-serif;letter-spacing:.1em}
.case-detail-kicker time{color:#78909c}
.case-detail-header h1{margin:0;color:#09283c;font-size:clamp(34px,4vw,58px);line-height:1.35;letter-spacing:.01em}
.case-detail-customer{margin:24px 0 0;color:#496778;font-size:16px;font-weight:600}
.case-detail-figure{margin:0 0 70px}
.case-detail-figure img{display:block;width:100%;aspect-ratio:16/8.5;object-fit:cover;background:#eef6fa}
.case-detail-figure figcaption{margin-top:10px;color:#78909c;font-size:10px;text-align:right}
.case-detail-mainvisual{width:100%;margin-bottom:82px;overflow:hidden;background:#eef6fa}
.case-detail-mainvisual img{transition:transform .55s ease}
.case-detail-mainvisual:hover img{transform:scale(1.015)}
.case-release-original figure.is-mainvisual-duplicate,.news-release-original figure.is-mainvisual-duplicate{display:none}
.case-detail-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:clamp(50px,8vw,120px);align-items:start}
.case-detail-copy h2,.case-detail-taxonomy h2{margin:0 0 20px;color:#168ec9;font:700 11px/1.5 Lato,'Noto Sans JP',sans-serif;letter-spacing:.12em}
.case-detail-copy p{margin:0 0 24px;color:#496778;font-size:16px;line-height:2.1}
.case-detail-release>p:first-child{margin-top:0}
.case-detail-release p{margin:0 0 24px;color:#36566a;font-size:15px;line-height:2}
.case-detail-release h2{margin:54px 0 22px;color:#09283c;font-family:'Noto Sans JP',sans-serif;font-size:24px;line-height:1.55;letter-spacing:0}
.case-detail-release h3{margin:38px 0 18px;color:#09283c;font-size:19px;line-height:1.6}
.case-detail-release ul,.case-detail-release ol{margin:18px 0 30px;padding-left:1.5em;color:#36566a;font-size:15px;line-height:1.9}
.case-detail-release figure{margin:36px 0}
.case-detail-release img{display:block;max-width:100%;height:auto;margin:0 auto}
.case-detail-release figcaption{margin-top:10px;color:#78909c;font-size:10px;line-height:1.6;text-align:center}
.case-detail-release .pr-img--grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.case-detail-release .pr-img--grid figure{margin:0}
.case-detail-release table{width:100%;margin:24px 0;border-collapse:collapse;color:#36566a;font-size:13px;line-height:1.7}
.case-detail-release th,.case-detail-release td{padding:12px;border:1px solid #cddfe8;text-align:left;vertical-align:top}
.case-detail-release a{color:#168ec9;overflow-wrap:anywhere}
.case-detail-source-wrap{margin:20px 0 0}
.case-article .case-cta-wrap{margin:44px 0 0}
.case-article-link{display:inline-flex;align-items:center;gap:10px;padding-bottom:7px;border-bottom:1px solid #168ec9;color:#168ec9;font-size:13px;font-weight:700;text-decoration:none}
.case-article-link b{transition:transform .25s ease}
.case-article-link:hover b{transform:translateX(4px)}
.case-detail-more{margin-top:96px;padding-top:62px;border-top:1px solid #cddfe8}
.case-detail-more-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:32px}
.case-detail-more-heading span{display:block;margin-bottom:10px;color:#168ec9;font:700 10px/1.5 Lato,sans-serif;letter-spacing:.14em}
.case-detail-more-heading h2{margin:0;color:#09283c;font-size:clamp(27px,2.5vw,36px);line-height:1.4}
.case-detail-more-heading>a{padding-bottom:6px;border-bottom:1px solid #168ec9;color:#168ec9;font-size:11px;font-weight:700;text-decoration:none}
.case-detail-taxonomy{border-top:1px solid #cddfe8}
.case-detail-taxonomy>div{padding:24px 0;border-bottom:1px solid #cddfe8}
.case-detail-taxonomy h2{margin-bottom:12px}
.case-detail-taxonomy ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.case-detail-taxonomy li{padding:6px 10px;background:#f0f8fb;color:#2c647f;font-size:11px;font-weight:600}
.case-detail-source{display:inline-flex;align-items:center;gap:10px;padding-bottom:7px;border-bottom:1px solid #168ec9;color:#168ec9;font-size:12px;font-weight:700;text-decoration:none}
.case-detail-source b{transition:transform .25s ease}
.case-detail-source:hover b{transform:translate(4px,-2px)}
.case-detail-footer{margin-left:var(--side-w);padding:52px clamp(28px,6vw,96px);background:#082b40;color:#fff}
.case-detail-footer>div{display:flex;align-items:center;gap:24px}
.case-detail-footer img{width:130px;filter:brightness(0) invert(1)}
.case-detail-footer p{margin:0;color:#c6d9e3;font-size:12px}
.case-detail-footer>a{display:inline-block;margin-top:30px;color:#65c7f2;text-decoration:none}
.case-detail-footer small{display:block;margin-top:36px;color:#9ab2bf}
.page-vision-2030 .vision-partnership .partnership-layout.has-case-placement{display:block}
.page-vision-2030 .vision-partnership .vision-section-inner::after{content:none!important;display:none!important}
.case-placement-list-title{margin:34px 0 16px;color:#09283c;font-size:16px;line-height:1.4}
.page-vision-2030 .vision-partnership .case-placement-grid-vision{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;border:0;border-radius:0;overflow:visible}
.page-vision-2030 .vision-partnership .case-placement-visual{height:138px}
.page-vision-2030 .vision-partnership .case-placement-body{padding:var(--ws-golden-card-body-pad,16px 18px 18px)}
.page-vision-2030 .vision-partnership .case-placement-card h3{font-size:15px}
@media(max-width:1100px){.case-placement-grid,.page-vision-2030 .vision-partnership .case-placement-grid-vision{grid-template-columns:repeat(2,minmax(0,1fr))}.case-placement-card{border-bottom:1px solid #d7e5ed}.case-detail-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){.case-placement-section,.case-detail-main,.case-detail-footer{margin-left:0}}
@media(max-width:680px){.case-placement-grid,.page-vision-2030 .vision-partnership .case-placement-grid-vision{grid-template-columns:1fr}.case-placement-heading,.case-detail-more-heading{display:block}.case-placement-heading>a,.case-detail-more-heading>a{display:inline-block;margin-top:20px}.case-placement-card{border-left:1px solid #d7e5ed}.case-placement-visual,.page-vision-2030 .vision-partnership .case-placement-visual{height:180px}.case-detail-main{padding:40px 20px 80px}.case-detail-breadcrumb{margin-bottom:36px}.case-detail-header h1{font-size:30px}.case-detail-figure{margin-bottom:48px}.case-detail-figure img{aspect-ratio:4/3}.case-detail-copy p,.case-detail-release p,.case-detail-release ul,.case-detail-release ol{font-size:14px}.case-detail-release h2{font-size:21px}.case-detail-release .pr-img--grid{grid-template-columns:1fr}.case-detail-more{margin-top:70px;padding-top:46px}.case-detail-source{margin-top:16px}.case-detail-footer{padding:40px 20px}.case-detail-footer>div{display:block}.case-detail-footer p{margin-top:14px}}

/* detail article: never exceed the column (mobile overflow fix) */
.case-detail-copy,.case-detail-release,.case-detail-layout>*{min-width:0}.case-detail-release img,.case-detail-copy img,.case-detail-mainvisual img{max-width:100%;height:auto}.case-detail-release .tableContainer,.case-detail-release .pr-table{max-width:100%;overflow-x:auto}.case-detail-release table{max-width:100%}.case-detail-release .pr-img{max-width:100%}

/* news list: compact information cards on the shared card spec */
#news-catalog-grid{gap:var(--ws-golden-card-gap,14px)}
#news-catalog-grid .achieve-card{border-color:var(--ws-golden-card-border,#d7e5ed);border-radius:var(--ws-golden-card-radius,8px)}
#news-catalog-grid .achieve-thumb{height:var(--ws-golden-card-image-height,150px)}
#news-catalog-grid .achieve-thumb img{object-position:center top}
#news-catalog-grid .achieve-card[hidden]{display:none}

/* article body: four cards read as 2x2, not 3+1 */
.case-detail-release .case-placement-grid:has(>:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:680px){.case-detail-release .case-placement-grid:has(>:nth-child(4):last-child){grid-template-columns:minmax(0,1fr)}}

/* detail headings: phrase-aware wrapping; news posters keep their full frame */
.case-detail-header h1{word-break:auto-phrase;text-wrap:balance}
#news-detail-root .case-detail-figure img{aspect-ratio:auto;object-fit:contain;height:auto;max-height:640px;background:#f2f7fa}

/* 旧HP由来の導入事例本文（WordPressブロックをそのまま表示） */
.case-hp-original{color:#36566a;font-size:15px;line-height:2}
.case-hp-original>*:first-child{margin-top:0}
.case-hp-original h4{margin:34px 0 14px;color:#09283c;font-size:17px;line-height:1.6}
.case-hp-original h5{margin:28px 0 12px;color:#09283c;font-size:15px;line-height:1.6}
.case-hp-original strong{color:#1b3d52}
.case-hp-original mark,.case-hp-original .has-sky-blue-color{background:none;color:#168ec9}
.case-hp-original .has-medium-font-size{font-size:17px}
.case-hp-original .has-small-font-size{font-size:13px}
.case-hp-original .has-silver-gray-color{color:#7f8f99}
.case-hp-original .has-text-align-center{text-align:center}
.case-hp-original .wp-block-image{margin:32px 0}
.case-hp-original .wp-block-image.aligncenter,.case-hp-original .aligncenter{margin-left:auto;margin-right:auto;text-align:center}
.case-hp-original .wp-block-image img{display:block;max-width:100%;height:auto;margin:0 auto}
.case-hp-original figure.wp-block-image.is-resized img{max-width:100%}
.case-hp-original .wp-element-caption{margin-top:10px;color:#78909c;font-size:11px;line-height:1.7;text-align:center}
.case-hp-original .wp-block-media-text{display:grid;grid-template-columns:50% 1fr;grid-template-areas:"media content";gap:32px;align-items:center;margin:32px 0}
.case-hp-original .wp-block-media-text.has-media-on-the-right{grid-template-areas:"content media"}
.case-hp-original .wp-block-media-text.is-vertically-aligned-top{align-items:start}
.case-hp-original .wp-block-media-text__media{grid-area:media;margin:0}
.case-hp-original .wp-block-media-text__content{grid-area:content;min-width:0}
.case-hp-original .wp-block-media-text__content>p:last-child{margin-bottom:0}
.case-hp-original .wp-block-media-text__media img{width:100%;height:auto}
.case-hp-original .wp-block-columns{display:flex;gap:28px;margin:32px 0}
.case-hp-original .wp-block-column{flex:1 1 0;min-width:0}
.case-hp-original .wp-block-embed{margin:32px 0}
.case-hp-original .wp-block-embed__wrapper iframe,.case-hp-original iframe{display:block;width:100%;max-width:100%;aspect-ratio:16/9;height:auto;border:0}
.case-hp-original #toc_container{margin:30px 0;padding:22px 28px;border:1px solid #cddfe8;border-radius:8px;background:#f4fafd}
.case-hp-original .toc_title{margin:0 0 10px;color:#09283c;font-weight:700}
.case-hp-original .toc_list{margin:0;padding:0;list-style:none}
.case-hp-original .toc_list li{margin:6px 0;font-size:14px;line-height:1.7}
.case-hp-original .toc_list a{color:#36566a;text-decoration:none}
.case-hp-original .toc_list a:hover{color:#168ec9}
.case-hp-original .toc_number{margin-right:.5em;color:#168ec9;font-weight:700}
.case-hp-original a.c-general-button{display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;margin:36px auto;padding:16px 38px;border-radius:999px;background:#168ec9;color:#fff;font-weight:700;text-align:center;text-decoration:none;transition:background .2s}
.case-hp-original a.c-general-button:hover{background:#0f6f9c}
.case-hp-original .c-general-button__text{color:inherit}
.case-hp-original table{display:block;max-width:100%;overflow-x:auto}
.case-hp-original sup{font-size:.7em}
.case-hp-client{margin:64px 0 0;padding:28px 32px;border:1px solid #cddfe8;border-radius:10px;background:#f7fbfd}
.case-detail-release .case-hp-client h2{margin:0 0 6px;color:#168ec9;font:700 11px/1.5 Lato,'Noto Sans JP',sans-serif;letter-spacing:.12em}
.case-hp-client-name{margin:0 0 16px;color:#09283c;font-size:18px;font-weight:700}
.case-hp-client dl{margin:0}
.case-hp-client dl>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;padding:12px 0;border-top:1px solid #dbe9f1}
.case-hp-client dt{color:#78909c;font-size:13px;font-weight:700}
.case-hp-client dd{margin:0;color:#36566a;font-size:14px;line-height:1.8;overflow-wrap:anywhere}
@media(max-width:680px){.case-hp-original .wp-block-media-text,.case-hp-original .wp-block-media-text.has-media-on-the-right{grid-template-columns:1fr!important;grid-template-areas:"media" "content"}.case-hp-original .wp-block-columns{flex-direction:column}.case-hp-client dl>div{grid-template-columns:1fr;gap:4px}}

/* 導入事例 記事の共通ルール（旧HP由来・PR TIMES由来のどちらにも同じ構成を適用） */
.case-article h2{scroll-margin-top:24px}
.case-article .case-toc{margin:32px 0 44px;padding:22px 28px;border:1px solid #cddfe8;border-radius:8px;background:#f4fafd}
.case-detail-release .case-article .case-toc-title,.case-article .case-toc-title{margin:0 0 10px;color:#09283c;font-size:15px;font-weight:700;line-height:1.6}
.case-article .case-toc ol{margin:0;padding:0;list-style:none;counter-reset:case-toc}
.case-article .case-toc li{margin:6px 0;font-size:14px;line-height:1.7;counter-increment:case-toc}
.case-article .case-toc li::before{content:counter(case-toc);display:inline-block;min-width:1.4em;margin-right:.5em;color:#168ec9;font-weight:700}
.case-article .case-toc a{color:#36566a;text-decoration:none}
.case-article .case-toc a:hover{color:#168ec9}
.case-article a.c-general-button{display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;margin:0 auto;padding:16px 38px;border-radius:999px;background:#168ec9;color:#fff;font-weight:700;text-align:center;text-decoration:none;transition:background .2s}
.case-article a.c-general-button:hover{background:#0f6f9c}
.case-article a.c-general-button .c-general-button__text{color:inherit}
.case-article iframe{display:block;width:100%;max-width:100%;aspect-ratio:16/9;height:auto;border:0}
