/* blog.css｜採用ブログ・お知らせ 詳細（single.php 想定）
   本文エリア .post-content は WordPress の the_content() の出力（h2/h3/p/figure/ul/blockquote）にそのまま当たるように書いています */

.post-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.post-cat{display:inline-flex;align-items:center;height:28px;padding:0 14px;border-radius:999px;background:#1461D2;color:#fff;font-size:12px;font-weight:700;letter-spacing:.06em;text-decoration:none;}
.post-date{font-family:"Poppins",sans-serif;font-size:14px;font-weight:600;letter-spacing:.06em;color:#6b7684;}
.post-title{margin:18px 0 0;font-size:clamp(24px,2.6vw,34px);font-weight:700;line-height:1.6;letter-spacing:.04em;color:#1a2433;text-wrap:pretty;}
.post-eyecatch{margin:36px 0 0;border-radius:22px;overflow:hidden;aspect-ratio:16/9;background:#e9eef4;}
.post-eyecatch img{width:100%;height:100%;object-fit:cover;display:block;}

.post-content{margin-top:48px;font-size:16px;line-height:2.05;letter-spacing:.03em;color:#1a2433;}
.post-content > *{margin:0 0 1.6em;}
.post-content h2{margin:2.8em 0 1.1em;padding:0 0 14px;border-bottom:2px solid #e3eaf2;position:relative;font-size:clamp(20px,2vw,24px);font-weight:700;line-height:1.6;}
.post-content h2::after{content:"";position:absolute;left:0;bottom:-2px;width:72px;height:2px;background:#1461D2;}
.post-content h3{margin:2.2em 0 .8em;padding-left:16px;border-left:4px solid #5CC8F5;font-size:18px;font-weight:700;line-height:1.6;}
.post-content figure{margin:2.2em 0;}
.post-content figure img{width:100%;border-radius:18px;display:block;}
.post-content figcaption{margin-top:10px;font-size:13px;color:#6b7684;line-height:1.7;}
.post-content ul{padding:22px 26px 22px 46px;border-radius:16px;background:#f2f7fc;}
.post-content ul li{margin:.2em 0;}
.post-content blockquote{margin:2.2em 0;padding:26px 30px;border-radius:18px;background:#f2f7fc;font-size:17px;font-weight:700;line-height:1.9;color:#1461D2;}
.post-content a{color:#1461D2;text-decoration:underline;}

.post-share{display:flex;align-items:center;gap:14px;margin-top:56px;padding-top:28px;border-top:1px solid #e3eaf2;}
.post-share .lbl{font-family:"Poppins",sans-serif;font-size:13px;font-weight:600;letter-spacing:.1em;color:#6b7684;}
.post-share a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#f2f7fc;color:#1461D2;font-size:17px;text-decoration:none;transition:background .25s,color .25s;}
.post-share a:hover{background:#1461D2;color:#fff;}

.post-pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px;}
.post-pager a{display:flex;flex-direction:column;gap:6px;padding:20px 22px;border-radius:16px;background:#f2f7fc;text-decoration:none;color:#1a2433;transition:background .25s;}
.post-pager a:hover{background:#e3eefb;}
.post-pager .dir{font-family:"Poppins",sans-serif;font-size:12px;font-weight:600;letter-spacing:.1em;color:#1461D2;}
.post-pager .t{font-size:14px;font-weight:700;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.post-pager .next{text-align:right;}
.post-back{display:flex;justify-content:center;margin-top:48px;}

.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:8px;}
.rel-card{display:block;text-decoration:none;color:#1a2433;}
.rel-card .ph{aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;}
.rel-card .ph img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit;transition:transform .5s ease;}
.rel-card .ph{border-radius:18px !important;overflow:hidden !important;isolation:isolate;padding:0 !important;border:none !important;}
.rel-card .ph.no-photo{background:#f2f7fc !important;}
.rel-card .ph.no-photo img{border-radius:0;}
.rel-card .ph.no-photo img{width:46%;height:auto;object-fit:contain;}
.rel-card:hover .ph img{transform:scale(1.04);}
.rel-card .body{margin-top:16px;display:flex;flex-direction:column;gap:6px;}
.rel-card .row{display:flex;align-items:center;gap:10px;}
.rel-card .tag{font-size:11px;font-weight:700;color:#1461D2;border:1px solid #1461D2;border-radius:999px;padding:2px 10px;}
.rel-card .date{font-family:"Poppins",sans-serif;font-size:12px;font-weight:600;color:#6b7684;}
.rel-card .title{margin:0;font-size:15px;font-weight:700;line-height:1.6;}

/* 2カラム：記事＋サイドバー */
.post-layout{max-width:1180px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:clamp(40px,5vw,72px);align-items:start;}
.post-main{min-width:0;}
.post-side{position:sticky;top:110px;display:flex;flex-direction:column;gap:20px;}
.side-box{padding:26px 24px;border-radius:20px;background:#f2f7fc;}
.side-ttl{margin:0 0 14px;display:flex;flex-direction:column;gap:2px;font-size:16px;font-weight:700;color:#1a2433;}
.side-ttl .en{font-family:"Poppins",sans-serif;font-size:12px;font-weight:600;letter-spacing:.12em;color:#1461D2;}
.side-cats{list-style:none;margin:0;padding:0;}
.side-cats li + li{border-top:1px solid #dde6f0;}
.side-cats a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 2px;font-size:14px;font-weight:500;color:#1a2433;text-decoration:none;transition:color .2s;}
.side-cats a .arw{font-size:13px;color:#9aa6b4;transition:transform .25s,color .2s;}
.side-cats a:hover,.side-cats a.current{color:#1461D2;}
.side-cats a:hover .arw,.side-cats a.current .arw{color:#1461D2;transform:translateX(4px);}
.side-cats a.current{font-weight:700;}
.side-entry{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;padding:20px 24px;border-radius:20px;background:linear-gradient(135deg,#5CC8F5,#1461D2);color:#fff;text-decoration:none;}
.side-entry .t{font-size:17px;font-weight:700;}
.side-entry .s{grid-row:2;font-size:12px;opacity:.9;}
.side-entry .arw{grid-row:1/3;grid-column:2;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#fff;color:#1461D2;font-size:16px;transition:transform .3s;}
.side-entry:hover .arw{transform:scale(1.12);}
/* 記事一覧 */
.arc-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:16px;margin-bottom:32px;border-bottom:1px solid #e3eaf2;}
.arc-ttl{margin:0;font-size:20px;font-weight:700;color:#1a2433;}
.arc-count{margin:0;font-family:"Poppins",sans-serif;font-size:13px;font-weight:600;color:#6b7684;}
.arc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px;}
.arc-pager{display:flex;justify-content:center;gap:10px;margin-top:56px;}
.arc-pager a,.arc-pager span{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;font-family:"Poppins",sans-serif;font-size:14px;font-weight:600;text-decoration:none;color:#1461D2;background:#f2f7fc;transition:background .25s,color .25s;}
.arc-pager a:hover{background:#e3eefb;}
.arc-pager .cur{background:#1461D2;color:#fff;}
@media (max-width:1024px){
  .post-layout{grid-template-columns:minmax(0,1fr);}
  .post-side{position:static;}
}

@media (max-width:767px){
  .arc-grid{grid-template-columns:1fr;gap:32px;}
  .arc-head{margin-bottom:24px;}
  .post-title{font-size:21px;}
  .post-eyecatch{margin-top:24px;border-radius:16px;}
  .post-content{margin-top:32px;font-size:15px;line-height:1.95;}
  .post-content ul{padding:18px 18px 18px 38px;}
  .post-content blockquote{padding:20px 22px;font-size:16px;}
  .post-pager{grid-template-columns:1fr;}
  .post-pager .next{text-align:left;}
  .related-grid{grid-template-columns:1fr;gap:28px;}
}

/* 採用ブログ：エントリー欄の上の波線は使わない */
#entry > .sec-curve{display:none;}
