/* planned image slots refined in web_v36 */
.plannedImageSlot{position:relative;border:2px dashed #2f6fed;background:linear-gradient(135deg,#f8fbff,#eef6ff);border-radius:18px;margin:18px 0 24px;min-height:180px;padding:44px 22px 22px;box-sizing:border-box;color:#172033;display:flex;flex-direction:column;justify-content:center;gap:6px;}
.plannedImageSlot b{font-size:17px;line-height:1.45}.plannedImageSlot p{margin:0;color:#334155;font-size:13px;line-height:1.65}.plannedImageSize{font-size:12px;font-weight:800;color:#0f172a}.plannedImageBadge{position:absolute;left:16px;top:14px;border-radius:999px;background:#0b5fff;color:#fff;font-weight:800;font-size:12px;padding:4px 10px}.plannedImageSlot--a{border-color:#dc2626;background:linear-gradient(135deg,#fff7f7,#fff1f1)}.plannedImageSlot--a .plannedImageBadge{background:#dc2626}.plannedImageSlot--b{border-color:#d97706;background:linear-gradient(135deg,#fffaf0,#fff7df)}.plannedImageSlot--b .plannedImageBadge{background:#d97706}.plannedImageSlot--c{border-color:#0284c7;background:linear-gradient(135deg,#f0f9ff,#e9f6ff)}.plannedImageSlot--c .plannedImageBadge{background:#0284c7}.plannedImageSlot--compact{min-height:145px;margin:0 0 16px;padding:38px 16px 16px}.cardImagePlan{margin:-4px 0 18px}.imagePlacementNote{font-size:12px;color:#64748b;margin-top:6px}.plannedImageGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0 24px}@media(max-width:760px){.plannedImageGrid{grid-template-columns:1fr}.plannedImageSlot{min-height:150px}}

/* ===== Visible planned asset path v24 ===== */
.imagePathNote{
  display:block;
  margin-top:8px;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(15,23,42,.06);
  color:#0f172a;
  font-size:11.5px;
  line-height:1.65;
  font-weight:800;
  word-break:break-all;
}
.imagePathNote code{font-family:ui-monospace,Consolas,monospace;color:#1d4ed8;font-size:11.5px;}


/* ===== Brand logo and news refinement v24 ===== */
.brand{gap:12px;align-items:center;}
.brandLogoMark{width:56px;height:auto;display:block;flex:0 0 auto;}
.brandLogoName{width:188px;height:auto;display:block;flex:0 1 auto;max-width:100%;}
.brandTextFallback{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media(max-width:560px){
  .brandLogoMark{width:44px;}
  .brandLogoName{width:148px;}
}
.homeNewsCard{
  padding:15px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(29,78,216,.14);
  box-shadow:0 10px 24px rgba(15,23,42,.07);
}
.homeNewsHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;}
.homeNewsHead b{font-size:14px;color:#0f172a;}
.homeNewsHead a{font-size:12px;font-weight:900;color:#1d4ed8;}
.homeNewsColumns{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.homeNewsBlock h3{margin:0 0 6px;font-size:12px;color:#475569;letter-spacing:.04em;}
.homeNewsList{list-style:none;margin:0;padding:0;display:grid;gap:5px;}
.homeNewsList li{display:grid;grid-template-columns:74px 1fr;gap:8px;align-items:start;font-size:12px;line-height:1.55;}
.homeNewsList time{color:#64748b;font-weight:900;white-space:nowrap;}
.homeNewsList a{color:#0f172a;font-weight:800;text-decoration:none;}
.homeNewsList a:hover{color:#1d4ed8;}
body.homePage .heroText{padding:32px 34px;}
body.homePage .heroText h1{margin:10px 0 10px;}
body.homePage .heroText .lead{line-height:1.8;}
body.homePage .heroActions{margin-top:16px;}
body.homePage .heroKeywords{margin-top:14px;}
@media(min-width:1081px){
  body.homePage .heroText{padding:32px 34px;}
  .heroCopyStack{gap:12px;}
}
@media(max-width:1080px){
  .homeNewsCard{display:none;}
}
.newsArchiveHero{padding:24px 0 8px;}
.newsArchiveGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.newsPanel{padding:20px;}
.newsPanel h2{margin:0 0 12px;font-size:22px;}
.newsArchiveList{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.newsArchiveList li{padding:12px;border:1px solid rgba(15,23,42,.10);border-radius:14px;background:#fff;}
.newsArchiveList time{display:inline-block;min-width:92px;color:#64748b;font-size:13px;font-weight:900;}
.newsArchiveList b{font-size:14px;}
.newsCategory{display:inline-flex;margin-left:8px;padding:3px 8px;border-radius:999px;background:#eef5ff;color:#1d4ed8;font-size:11px;font-weight:900;}
.newsMemo{margin-top:14px;padding:14px;border:1px dashed rgba(29,78,216,.25);border-radius:14px;background:#f8fbff;color:#475569;font-size:13px;line-height:1.8;}
@media(max-width:900px){.newsArchiveGrid{grid-template-columns:1fr}}


/* ===== v24 public polish: lighter top, WebP image workflow, concise placeholders ===== */
body.homePage .hero{padding:24px 0 34px;}
body.homePage .heroText{padding:26px 30px;min-height:0;}
body.homePage .heroText::after{font-size:52px;bottom:24px;right:28px;opacity:.78;}
body.homePage h1{font-size:44px;margin:8px 0 8px;}
body.homePage .lead{font-size:15px;line-height:1.72;}
body.homePage .heroActions{margin-top:14px;}
body.homePage .heroKeywords{margin-top:12px;}
.homeNewsCard{padding:12px 14px;}
.homeNewsHead{margin-bottom:7px;}
.homeNewsColumns{gap:10px;}
.homeNewsBlock h3{font-size:11px;margin-bottom:4px;}
.homeNewsList{gap:3px;}
.homeNewsList li{grid-template-columns:68px 1fr;font-size:11.5px;line-height:1.45;}
.heroMainImage .heroPhoto{object-fit:cover;object-position:48% center;}
.heroMainImage.hasPhoto .heroImageOverlay{padding:12px 14px;max-width:68%;background:linear-gradient(90deg,rgba(15,23,42,.58),rgba(15,23,42,.18));}
.heroMainImage.hasPhoto .heroImageOverlay b{font-size:16px;}
.subCaption span{font-size:12px;line-height:1.55;}
.plannedImageSlot{min-height:120px;padding:38px 14px 14px;gap:4px;}
.plannedImageSlot b{font-size:15px;}
.plannedImageSlot p:not(.imagePathNote), .plannedImageSize, .plannedImageUse{display:none!important;}
.imagePathNote{margin-top:4px!important;font-size:11px!important;line-height:1.5!important;color:#64748b!important;}
.imagePathNote code{font-size:10.5px!important;color:#1d4ed8!important;}
@media(max-width:1080px){.homeNewsCard{display:block}.homeNewsColumns{grid-template-columns:1fr}.homeNewsCard{margin-top:12px}}
@media(max-width:640px){body.homePage h1{font-size:34px}.heroMainImage.hasPhoto .heroImageOverlay{max-width:86%}}


/* v36: 実画像が読み込めた仮画像枠では、配置メモを公開画面に出さない */
.plannedImageSlot.hasAssetImage .imagePathNote,
.plannedImageSlot.hasAssetImage .plannedImageBadge{display:none!important;}
.plannedImageSlot.missingAssetImage .imagePathNote{display:block;}
.plannedImageSlot.hasAssetImage{border-style:solid;}
