.container {padding:2rem 1rem;}
.feed-header {background:rgba(255, 255, 255, 0.95);backdrop-filter:blur(10px);border-radius:20px;padding:2rem 2rem 0;margin-bottom:3rem;box-shadow:0 20px 40px rgba(0, 0, 0, 0.1);text-align:center;position:relative;overflow:hidden;min-width:80vw;}
.feed-header::before {content:'';position:absolute;top:0;left:-100%;width:100%;height:4px;background:linear-gradient(90deg, transparent, #667eea, transparent);animation:shimmer 3s infinite;}

@keyframes shimmer {0% { left:-100%; }100% { left:100%; }}

.last-updated {color:#888;font-size:0.9rem;}
.site-link {background:linear-gradient(135deg, #667eea, #764ba2);color:white;text-decoration:none;padding:0.75rem 1.5rem;border-radius:25px;transition:all 0.3s ease;font-weight:600;}
.site-link:hover {transform:translateY(-2px);box-shadow:0 10px 20px rgba(102, 126, 234, 0.3);}

/* メインコンテンツ */
.articles-grid {display:grid;grid-template-columns:repeat(auto-fill, minmax(350px, 1fr));gap:2rem;margin-bottom:3rem;}
.article-card-wrap{text-decoration:none;    transition:all 0.6s ease;}
.article-card-wrap:hover{transform:scale(1.02);}
.article-card {background:rgba(255, 255, 255, 0.95);backdrop-filter:blur(10px);border-radius:16px;padding:2rem;box-shadow:0 15px 35px rgba(0, 0, 0, 0.1);transition:all 0.3s ease;position:relative;overflow:hidden;height:100%;}
.article-card::before {content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg, #667eea, #764ba2);}
.article-card:hover {box-shadow:0 25px 50px rgba(0, 0, 0, 0.15);}.article-title {margin-bottom:1rem;color:#2791edd4;}
.article-title a {color:#2c3e50;text-decoration:none;font-size:1.3rem;font-weight:600;line-height:1.4;transition:color 0.3s ease;}
.article-title a:hover {color:#667eea;}
.article-description {color:#666;text-align:left;margin:1.5rem 0;word-wrap:break-word;font-size:14px;}
.article-meta {display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #eee;}
.article-date {color:#888;font-size:0.9rem;}
.read-more {color:#667eea;text-decoration:none;font-weight:600;font-size:0.9rem;transition:all 0.3s ease;position:relative;}
.read-more::after {content:'→';margin-left:0.5rem;transition:transform 0.3s ease;}
.read-more:hover::after {transform:translateX(3px);}


/* 画像表示部分 */
.article-images {margin-bottom:1.5rem;border-radius:12px;overflow:hidden;position:relative;}
.image-container {position:relative;overflow:hidden;}
.single-image {width:100%;}
.multi-image {display:inline-block;width:calc(48% - 0.25rem);margin-right:0.5rem;}
.multi-image:last-child {margin-right:0;}
.article-image {width:100%;height:200px;object-fit:cover;transition:transform 0.3s ease;border-radius:8px;}
/*.article-image:hover {transform:scale(1.05);}*/

/* 画像がある場合のカード調整 */
.article-card:has(.article-images) {padding:1.5rem;}
.article-content {position:relative;}
.article{
	.article-title{color:#fff;}
	.article-meta{padding-bottom:1rem;}
	.article-content {text-align:left;margin-bottom:3rem;line-height:1.8;max-width:90vw;margin:0 auto;width: 100%;
		a{word-wrap:break-word;}
	h1,h2{font-size:103%;}
		}
.wp-block-image img{}
	/* zoom リンクのスタイル */
	a.zoom {cursor:zoom-in;transition:opacity 0.3s ease;}
	a.zoom:hover {opacity:0.8;}
	a.zoom img {transition:transform 0.3s ease;margin:2rem auto;display:block;width:100%;max-width:600px;height:auto;max-height:600px;padding:4px;box-shadow:0px 0px 28px 4px #cccccce6;object-fit:cover;}
	a.zoom:hover img {transform:scale(1.02);}

	pre {background:#323944;color:#f8f9fa;border-radius:3px;font-family:inherit;white-space:pre-wrap;word-break:normal;overflow:auto;margin:-28px;padding:10px;}
}

/* ページネーション **************************************************/
.pagination-wrapper {margin:30px 0;text-align:center;}
.pagination {display:flex;flex-direction:column;align-items:center;gap:20px;}
.pagination-list {display:flex;list-style:none;padding:0;margin:0;gap:5px;flex-wrap:wrap;justify-content:center;}
.pagination-link {display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:8px 12px;text-decoration:none;border:1px solid #ddd;border-radius:6px;color:#333;background:white;transition:all 0.3s ease;font-size:14px;}
.pagination-link:hover {background:#f5f5f5;border-color:#007cba;color:#007cba;}
.pagination-link.current {background:#007cba;color:white;border-color:#007cba;cursor:default;}
.pagination-link.first,.pagination-link.last,.pagination-link.prev,.pagination-link.next {padding:8px 16px;font-weight:500;}
.pagination-ellipsis {display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;color:#666;}

/* ページジャンプ */
.page-jump {display:flex;align-items:center;gap:10px;}
.jump-form {display:flex;align-items:center;gap:10px;}
.page-input {width:60px;padding:8px;border:1px solid #ddd;border-radius:4px;text-align:center;font-size:14px;}
.jump-btn {padding:8px 16px;background:#007cba;color:white;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background 0.3s ease;}
.jump-btn:hover {background:#005a87;}
.pagination-info {text-align:center;margin-bottom:20px;}
.items-count {color:#666;font-size:14px;}

/* キャッシュコントロール */
.cache-controls {margin-top:15px;}
.update-feed-btn,.clear-cache-btn {padding:10px 20px;margin:0 5px;border:none;border-radius:5px;cursor:pointer;font-size:14px;transition:all 0.3s ease;}
.update-feed-btn {background:#28a745;color:white;}
.update-feed-btn:hover {background:#218838;}
.clear-cache-btn {background:#dc3545;color:white;}
.clear-cache-btn:hover {background:#c82333;}

/***********************************************************************/
.pager-navigation {display:flex;justify-content:space-between; /* リンクを左右に配置 */gap:20px;margin-top:50px;border-top:1px solid #eee;padding:30px 1em 136px;}
.pager-link {display:flex;flex-direction:column;padding:15px;border:1px solid #ddd;border-radius:8px;transition:background-color 0.3s, border-color 0.3s;text-decoration:none;color:#333;width:48%; /* 左右に均等にスペースを確保 */}
.pager-link:hover {background-color:#f9f9f9;border-color:#ccc;}
.pager-link.prev-link {text-align:right;}
.pager-link .direction {font-size:0.85em;color:#888;margin-bottom:5px;}
.pager-link .title {font-weight:bold;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2; /* タイトルを2行に制限 */-webkit-box-orient:vertical;overflow:hidden;}
/* リンクがない場合のスタイル */
.pager-link.disabled {opacity:0.5;pointer-events:none; /* クリック無効 */background-color:#f3f3f3;}
/* 月別アーカイブサイドバー */
.archive-sidebar {background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);border-radius:16px;padding:5px;box-shadow:0 20px 40px rgba(102, 126, 234, 0.15);overflow:hidden; position:sticky; height:fit-content; /* スクロール領域からはみ出さないように高さを調整 */top:133px;max-height:calc(100vh - 164px);overflow:auto;}
.archive-sidebar::before {content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg, #ff6b6b, #4ecdc4, #45b7d1, #96ceb4);background-size:400% 400%;animation:gradientShift 8s ease-in-out infinite;}
@keyframes gradientShift {0%, 100% { background-position:0% 50%; }50% { background-position:100% 50%; }}

.sidebar-title {color:#ffffff;font-size:15px;font-weight:700;margin:0 0 25px 0;text-align:center;text-shadow:0 2px 4px rgba(0, 0, 0, 0.2);position:relative;}
.sidebar-title::after {content:'';position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:60px;height:3px;background:rgba(255, 255, 255, 0.4);border-radius:2px;}
.archive-list {list-style:none;padding:0;margin:0;}
.feed-content-wrap {display:grid;grid-template-columns:auto 222px;gap:2rem;align-items:start;}


#news{overflow:initial;}
/* 年度アイテム */
.archive-year-item,.category-list li{margin-bottom:15px;background:rgba(255, 255, 255, 0.1);border-radius:12px;overflow:hidden;backdrop-filter:blur(10px);border:1px solid rgba(255, 255, 255, 0.2);transition:all 0.3s ease;}
.archive-year-item:hover,.category-list li:hover {background:rgba(255, 255, 255, 0.15);transform:translateY(-2px);box-shadow:0 10px 20px rgba(0, 0, 0, 0.1);}
.category-list li a{color:#fff;display:block;padding:2px;}
/* 年度トグルボタン */
.year-toggle {width:100%;padding:8px 20px;background:none;border:none;color:#ffffff;font-size:14px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all 0.3s ease;position:relative;}
.year-toggle::before {content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg, #ff6b6b, #4ecdc4);opacity:0;transition:opacity 0.3s ease;}
.year-toggle:hover::before {opacity:1;}
.year-toggle span {transition:transform 0.3s ease;font-size:14px;}
.year-toggle.active span {transform:rotate(180deg);}
.year-toggle:hover {background:rgba(255, 255, 255, 0.1);padding-left:28px;}

/* 月リスト */
.month-list {list-style:none;padding:0;margin:0;max-height:0;overflow:hidden;transition:max-height 0.4s ease, padding 0.4s ease;background:rgba(255, 255, 255, 0.05);display:grid;grid-template-columns:repeat(auto-fill, minmax(5em, 1fr));;}
.month-list.active {max-height:1000px;padding:12px 0;}
.month-list li {margin:0;}
.month-list a {display:flex;justify-content:space-between;align-items:center;padding:8px 20px;color:rgba(255, 255, 255, 0.9);text-decoration:none;transition:all 0.3s ease;position:relative;border-left:3px solid transparent;}

.month-list a::before {content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;background:#4ecdc4;border-radius:50%;opacity:0;transition:all 0.3s ease;}
.month-list a:hover {background:rgba(255, 255, 255, 0.1);color:#ffffff;border-left-color:#4ecdc4;}
.month-list a:hover::before {opacity:1;left:8px;}
.month-name {font-weight:500;font-size:12px;}
.item-count {background:rgba(255, 255, 255, 0.2);color:#ffffff;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;min-width:24px;text-align:center;transition:all 0.3s ease;}
.month-list a:hover .item-count {background:#4ecdc4;transform:scale(1.1);}


.image-modal {position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;opacity:0;visibility:hidden;transition:all 0.6s ease;}
.image-modal.active {opacity:1;visibility:visible;}
.modal-overlay {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background-color:rgba(0, 0, 0, 0.9);
    display:flex;
    padding:20px;
    box-sizing:border-box;
    justify-content:center;
}
.modal-content {
    position:relative;
    max-width:90vw;
    max-height:90vh;
    display:grid;
    justify-items:end;
    align-items:start;
}
.modal-image {
    max-height:90vh;
    max-width:100%;
    border-radius:8px;
    box-shadow:0 10px 30px rgba(0, 0, 0, 0.5);
    transform:scale(0.8);
    transition:transform 0.3s ease;
    object-fit:cover;
    height:auto;
    width:100%;
}
.image-modal.active .modal-image {transform:scale(1);}
.modal-close {/*position:absolute;top:-32px;right:-50px;*/width:40px;height:40px;background:rgba(255, 255, 255, 0.2);border:2px solid rgba(255, 255, 255, 0.5);border-radius:50%;color:white;font-size:24px;font-weight:bold;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:all 0.3s ease;z-index:10001;align-self:end;}
.modal-close:hover {background:rgba(255, 255, 255, 0.3);border-color:rgba(255, 255, 255, 0.8);transform:scale(1.1);}
.modal-loading {position:absolute;color:white;font-size:18px;text-align:center;display:none;}


/* スクロールバーのカスタマイズ */
.archive-sidebar::-webkit-scrollbar {width:6px;}
.archive-sidebar::-webkit-scrollbar-track {background:rgba(255, 255, 255, 0.1);border-radius:3px;}
.archive-sidebar::-webkit-scrollbar-thumb {background:rgba(255, 255, 255, 0.3);border-radius:3px;}
.archive-sidebar::-webkit-scrollbar-thumb:hover {background:rgba(255, 255, 255, 0.5);}

/* ダークモード対応 */
@media (prefers-color-scheme:dark) {
	.archive-sidebar {background:linear-gradient(135deg, #2d3748 0%, #4a5568 100%);box-shadow:0 20px 40px rgba(0, 0, 0, 0.3);}
	.archive-year-item {background:rgba(255, 255, 255, 0.05);border-color:rgba(255, 255, 255, 0.1);}
	.archive-year-item:hover {background:rgba(255, 255, 255, 0.1);}
	.month-list {background:rgba(0, 0, 0, 0.1);}
}

/* アニメーション効果 */
.archive-year-item,.category-list li {animation:slideIn 0.6s ease forwards;opacity:0;transform:translateY(20px);}

.archive-year-item:nth-child(1) { animation-delay:0.1s; }
.archive-year-item:nth-child(2) { animation-delay:0.2s; }
.archive-year-item:nth-child(3) { animation-delay:0.3s; }
.archive-year-item:nth-child(4) { animation-delay:0.4s; }
.archive-year-item:nth-child(5) { animation-delay:0.5s; }
.archive-year-item:nth-child(6) { animation-delay:0.6s; }
.archive-year-item:nth-child(7) { animation-delay:0.7s; }
.archive-year-item:nth-child(8) { animation-delay:0.8s; }
.archive-year-item:nth-child(9) { animation-delay:0.9s; }
.archive-year-item:nth-child(10) { animation-delay:1.0s; }

@keyframes slideIn {to {opacity:1;transform:translateY(0);}}

/* ホバー時の月リストアニメーション */
.month-list li {transform:translateX(-10px);opacity:0;transition:all 0.3s ease;}
.month-list.active li {transform:translateX(0);opacity:1;}

.month-list.active li:nth-child(1) { transition-delay:0.1s; }
.month-list.active li:nth-child(2) { transition-delay:0.15s; }
.month-list.active li:nth-child(3) { transition-delay:0.2s; }
.month-list.active li:nth-child(4) { transition-delay:0.25s; }
.month-list.active li:nth-child(5) { transition-delay:0.3s; }
.month-list.active li:nth-child(6) { transition-delay:0.35s; }
.month-list.active li:nth-child(7) { transition-delay:0.4s; }
.month-list.active li:nth-child(8) { transition-delay:0.45s; }
.month-list.active li:nth-child(9) { transition-delay:0.5s; }
.month-list.active li:nth-child(10) { transition-delay:0.55s; }
.month-list.active li:nth-child(11) { transition-delay:0.6s; }
.month-list.active li:nth-child(12) { transition-delay:0.65s; }

/* 特別な年度のハイライト */
.archive-year-item[data-year-highlight="current"] {background:linear-gradient(135deg, rgba(255, 107, 107, 0.2), rgba(78, 205, 196, 0.2));border-color:rgba(255, 107, 107, 0.3);}
.archive-year-item[data-year-highlight="current"] .year-toggle::before {background:linear-gradient(180deg, #ff6b6b, #4ecdc4);opacity:0.7;}

/* アクセシビリティ改善 */
.year-toggle:focus {outline:2px solid rgba(255, 255, 255, 0.5);outline-offset:2px;}
.month-list a:focus {outline:2px solid rgba(78, 205, 196, 0.7);outline-offset:-2px;}

/* タッチデバイス対応
@media (hover:none) and (pointer:coarse) {
	.year-toggle {padding:6px;}
	.month-list a {padding:6px;}
	.year-toggle:hover,.month-list a:hover {transform:none;padding-left:24px;}
}
 */

.no-image-placeholder {
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:200px; /* 必要に応じて調整 */
    background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color:white;
    font-size:18px;
    font-weight:bold;
    text-align:center;
    border-radius:8px; /* 必要に応じて調整 */
}

/* レスポンシブ対応 */
@media (max-width:768px) {
	.container {padding:2rem 0rem;}
	.feed-content-wrap {grid-template-columns:1fr; /* 1列にする */}
	.sidebar-title {font-size:20px;margin-bottom:20px;}
	.month-list a {padding:10px;font-size:13px;}
	.month-name {font-size:13px;}
	.item-count {font-size:11px;padding:3px 8px;}
	.pagination-list {gap:3px;}
	.pagination-link {min-width:35px;height:35px;padding:6px 10px;font-size:13px;}
	.pagination-link.first,.pagination-link.last {display:none; /* モバイルでは非表示 */}
	.page-input {width:50px;padding:6px;}
	.jump-btn {padding:6px 12px;font-size:13px;}
	.cache-controls {text-align:center;}
	.update-feed-btn,.clear-cache-btn {display:block;width:100%;margin:5px 0;}
	.article-images {margin-bottom:1rem;}
	.multi-image {width:100%;margin-right:0;margin-bottom:0.5rem;}
	.multi-image:last-child {margin-bottom:0;}
	.article-image {height:150px;}
	.article{
		a.zoom img{width:100%;max-width:200px;height:229px;}
	}
	.modal-overlay {padding:10px;}
	.modal-content {max-width:95vw;max-height:95vh;}
	
	.service-item, .article-card-wrap {padding: 10px;}
	.archive-sidebar,.mobile-sidebar-toggle{position:fixed;transition:transform 0.3s ease-in-out;}
    .archive-sidebar {padding:20px;margin:20px 0;max-height:fit-content;top:0;right:0;height:94vh;width:300px;z-index:1001;
		box-shadow:-4px 0 10px rgba(0, 0, 0, 0.1);overflow-y:auto;transform:translateX(100%);}
    .archive-sidebar.is-open {transform:translateX(0);}

    .mobile-sidebar-toggle {display:block;left:0;bottom:0;transform:translateY(-50%);z-index:999;color: antiquewhite;
		padding:10px 15px;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);border-radius:5px 5px 0 0;cursor:pointer;
		box-shadow:0 0 5px rgba(0, 0, 0, 0.3);border:none;}
    .mobile-sidebar-toggle.is-open {transform:translateY(-100%);}
/* サイドバーマスク */
.sidebar-mask {position: fixed;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.5);z-index: 998;opacity: 0;visibility: hidden;transition: opacity 0.3s ease, visibility 0.3s ease;}
.sidebar-mask.active {opacity: 1;visibility: visible;}


}

@media (max-width:480px) {
	.pagination-link.prev,.pagination-link.next {padding:6px 8px;font-size:12px;}
	.pagination-ellipsis {min-width:30px;height:35px;}
	.article-image {height:120px;}
	.article-card:has(.article-images) {padding:1rem;}
}

.article-image {opacity:0;transition:opacity 0.3s ease, transform 0.3s ease;}
.article-image.loaded {opacity:1;}
.article-image:not([src]),.article-image[src=""] {display:none;}


/* デスクトップではボタンを非表示 */
@media (min-width:769px) {
    .mobile-sidebar-toggle {
        display:none; 
    }
    /* デスクトップでは sticky を維持 */
    .archive-sidebar {
        position:sticky;
    }
}