/* ===== ID-PHOTO お知らせ＆ブログ ショートコード共通 ===== */
.idphoto-news-block,
.idphoto-blog-block{
  --ink:#172636;
  --ink-soft:#42546a;
  --brass:#dd4f33;
  --brass-dk:#bb3c22;
  --brass-soft:#fce7e1;
  --line:#e7e0d4;
  --line-2:#efe9df;
  --cream:#f6f2ea;
  --muted:#76828f;
  --serif:"Shippori Mincho",serif;
  --sans:"Noto Sans JP",sans-serif;
  --lat:"Fraunces",serif;
  font-family:var(--sans);
  color:#33414e;
  max-width:1080px;
  margin:0 auto;
  letter-spacing:.012em;
}

/* ===== お知らせ：トップ用ヘッダ ===== */
.idphoto-news-head{
  display:flex;justify-content:space-between;align-items:flex-end;
  padding-bottom:24px;border-bottom:1px solid var(--brass);
  margin-bottom:8px;gap:24px;flex-wrap:wrap;
}
.idphoto-news-head-left{display:flex;flex-direction:column;gap:14px}
.idphoto-news-eyebrow{
  font-family:var(--lat);font-size:.78rem;letter-spacing:.22em;
  color:var(--brass-dk);text-transform:uppercase;font-weight:500;
  display:inline-flex;align-items:center;gap:12px;line-height:1;
}
.idphoto-news-eyebrow::before{content:"";width:28px;height:1px;background:var(--brass)}
.idphoto-news-title{
  font-family:var(--serif);font-size:clamp(1.6rem,2.6vw,2.1rem);
  color:var(--ink);font-weight:600;line-height:1.4;margin:0;letter-spacing:.03em;
}
.idphoto-news-more{
  font-family:var(--lat);font-size:.86rem;color:var(--brass-dk);
  text-decoration:none;border-bottom:1px solid var(--brass);
  padding-bottom:4px;line-height:1;transition:.2s;
  display:inline-flex;align-items:center;gap:8px;
}
.idphoto-news-more:hover{color:var(--ink);gap:12px}
.idphoto-news-more .ar{color:var(--brass-dk)}

/* ===== お知らせ：行リスト ===== */
.idphoto-news-rows{list-style:none;padding:0;margin:0}
.idphoto-news-row{border-bottom:1px solid var(--line)}
.idphoto-news-row:last-child{border-bottom:none}
.idphoto-news-row a{
  display:grid;
  grid-template-columns:auto auto 1fr auto;
  align-items:center;gap:24px;
  padding:22px 4px;
  color:var(--ink);text-decoration:none;
  transition:.2s;
}
.idphoto-news-row a:hover{background:rgba(252,231,225,.35);padding-left:14px;padding-right:14px}
.idphoto-news-row a:hover .idphoto-news-text{color:var(--brass-dk)}
.idphoto-news-row a:hover .idphoto-news-arrow{transform:translateX(4px);color:var(--brass-dk)}

.idphoto-news-date{
  font-family:var(--lat);font-size:.92rem;font-weight:500;
  color:var(--ink-soft);letter-spacing:.06em;line-height:1;
  white-space:nowrap;
}
.idphoto-news-cat{
  font-size:.72rem;letter-spacing:.08em;font-family:var(--sans);
  padding:5px 12px;background:var(--cream);color:var(--ink-soft);
  white-space:nowrap;line-height:1.4;border:1px solid var(--line);
}
/* カテゴリ別カラー */
.idphoto-news-cat--info{background:#fcf8ef;color:var(--brass-dk);border-color:var(--brass-soft)}
.idphoto-news-cat--maintenance{background:#eef2f7;color:#3d5670;border-color:#dce4ee}
.idphoto-news-cat--campaign{background:#fce7e1;color:var(--brass-dk);border-color:var(--brass);font-weight:500}
.idphoto-news-cat--holiday{background:#f3efe5;color:#7a6a48;border-color:#e0d7c0}

.idphoto-news-text{
  font-size:.94rem;line-height:1.7;color:var(--ink);font-weight:500;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.02em;
}
.idphoto-news-arrow{
  font-family:var(--lat);color:var(--ink-soft);font-size:1.1rem;
  transition:.2s;line-height:1;
}
.idphoto-news-empty{
  padding:48px 0;text-align:center;color:var(--muted);font-size:.94rem;
}

/* ===== お知らせアーカイブのページネーション ===== */
.idphoto-news-pagination{
  display:flex;justify-content:center;gap:8px;margin-top:48px;flex-wrap:wrap;
}
.idphoto-news-pg{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:42px;padding:0 14px;
  font-family:var(--lat);font-size:.92rem;font-weight:500;
  color:var(--ink-soft);text-decoration:none;background:#fff;
  border:1px solid var(--line);transition:.2s;
}
.idphoto-news-pg:hover{border-color:var(--brass);color:var(--brass-dk)}
.idphoto-news-pg.is-current{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ===== ブログ：3カードレイアウト ===== */
.idphoto-blog-head{
  text-align:center;margin-bottom:60px;
  display:flex;flex-direction:column;align-items:center;gap:18px;
}
.idphoto-blog-eyebrow{
  font-family:var(--lat);font-size:.78rem;letter-spacing:.22em;
  color:var(--brass-dk);text-transform:uppercase;font-weight:500;
  display:inline-flex;align-items:center;gap:12px;line-height:1;
}
.idphoto-blog-eyebrow::before{content:"";width:28px;height:1px;background:var(--brass)}
.idphoto-blog-eyebrow::after{content:"";width:28px;height:1px;background:var(--brass)}
.idphoto-blog-title{
  font-family:var(--serif);font-size:clamp(1.8rem,2.8vw,2.4rem);
  color:var(--ink);font-weight:600;line-height:1.4;margin:0;letter-spacing:.03em;
}

.idphoto-blog-cards{
  display:grid;grid-template-columns:repeat(3,1fr);gap:32px;
}
.idphoto-blog-card{
  display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--line);text-decoration:none;color:inherit;
  transition:.3s;overflow:hidden;
}
.idphoto-blog-card:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 40px -28px rgba(23,38,54,.4);
  border-color:var(--brass-soft);
}
.idphoto-blog-thumb{
  aspect-ratio:16/10;background:#16222f;position:relative;overflow:hidden;
}
.idphoto-blog-thumb img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:.5s;
}
.idphoto-blog-card:hover .idphoto-blog-thumb img{transform:scale(1.04)}
.idphoto-blog-placeholder{
  position:absolute;inset:0;
  background:linear-gradient(160deg,#26384c,#172430);
}
.idphoto-blog-placeholder::after{
  content:"ID-PHOTO";
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--lat);color:rgba(241,232,212,.2);font-size:1.2rem;letter-spacing:.18em;
}
.idphoto-blog-body{
  padding:24px 24px 28px;flex:1;display:flex;flex-direction:column;
}
.idphoto-blog-date{
  font-family:var(--lat);font-size:.78rem;letter-spacing:.1em;
  color:var(--brass-dk);font-weight:500;margin-bottom:12px;line-height:1;
}
.idphoto-blog-h{
  font-family:var(--serif);font-size:1.08rem;color:var(--ink);
  font-weight:600;line-height:1.7;margin:0 0 14px;letter-spacing:.03em;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;
}
.idphoto-blog-ex{
  font-size:.84rem;color:var(--muted);line-height:1.95;margin:0 0 18px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
  overflow:hidden;flex:1;
}
.idphoto-blog-more{
  font-family:var(--lat);font-size:.82rem;color:var(--brass-dk);
  font-weight:500;letter-spacing:.06em;
  display:inline-flex;align-items:center;gap:8px;line-height:1;
  margin-top:auto;
}
.idphoto-blog-card:hover .idphoto-blog-more{gap:12px}

.idphoto-blog-foot{text-align:center;margin-top:48px}
.idphoto-blog-allink{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--lat);font-size:.88rem;color:var(--ink);
  border-bottom:1px solid var(--brass);padding-bottom:5px;line-height:1;
  text-decoration:none;transition:.25s;
}
.idphoto-blog-allink:hover{color:var(--brass-dk);gap:14px}
.idphoto-blog-allink .ar{color:var(--brass-dk)}

.idphoto-blog-empty{
  text-align:center;padding:48px 0;color:var(--muted);font-size:.94rem;
}

/* ===== モバイル ===== */
@media(max-width:920px){
  .idphoto-news-head{flex-direction:column;align-items:flex-start;gap:18px}
  .idphoto-news-row a{
    grid-template-columns:auto 1fr;
    grid-template-areas:"date cat" "text text";
    gap:10px 14px;padding:18px 4px;
  }
  .idphoto-news-row a:hover{padding-left:8px;padding-right:8px}
  .idphoto-news-date{grid-area:date}
  .idphoto-news-cat{grid-area:cat;justify-self:start}
  .idphoto-news-text{grid-area:text;white-space:normal}
  .idphoto-news-arrow{display:none}
  .idphoto-blog-cards{grid-template-columns:1fr;gap:24px}
}
