html, body {
margin: 0; padding: 0; background-color: #fdfcf8;
min-height: 100vh; }
body {
display: flex;
flex-direction: column;
}
.all-news-wrapper {
flex-grow: 1; display: flex;
flex-direction: column;
font-family: "Noto Sans JP", sans-serif;
color: #333;
padding-bottom: 40px;
}
.all-news-section,
.single-news-article {
flex-grow: 1;
} .ggf-footer {
width: 100% !important;
max-width: 100% !important;
position: relative !important;
left: auto !important;
right: auto !important;
margin-left: 0 !important;
margin-right: 0 !important;
box-sizing: border-box !important;
margin-bottom: 0 !important;
margin-top: 0 !important;
}  .all-news-wrapper {
font-family: "Noto Sans JP", sans-serif;
color: #333;
padding-bottom: 40px;  }
.all-news-section {
padding: 100px 20px 40px; max-width: 1000px;
margin: 0 auto;
} .all-news-title {
text-align: center;
font-size: 36px;
color: #111;
font-family: "Shippori Mincho", serif;
margin-bottom: 30px; letter-spacing: 0.05em;
}
.all-news-title span {
display: block;
font-size: 15px;
color: #8c7b64;
margin-top: 8px;
font-family: "Noto Sans JP", sans-serif;
font-weight: 600;
} .news-search-box {
background: #fff;
border: 1px solid #eaddcf;
padding: 25px 30px;
margin-bottom: 30px; border-radius: 8px;
box-shadow: 0 4px 15px rgba(0,0,0,0.03);
}
.news-search-form {
display: flex;
gap: 15px;
justify-content: center;
align-items: center;
flex-wrap: wrap;
} .news-search-input,
.news-search-select,
.news-search-btn {
box-sizing: border-box; 
}
.news-search-input,
.news-search-select {
padding: 15px 20px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 16px;
flex: 1;
min-width: 220px;
background: #fff;
}
.news-search-btn {
padding: 15px 40px;
background: #8c7b64;
color: #fff;
border: none;
border-radius: 4px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
transition: 0.3s ease;
min-width: 150px;
}
.news-search-btn:hover { background: #7a6a55; } .all-news-list {
list-style: none;
padding: 0;
margin: 0;
border-top: 1px solid #ddd;
}
.all-news-list li {
border-bottom: 1px solid #ddd;
}
.all-news-list a {
display: flex;
align-items: flex-start;
padding: 20px 0;
text-decoration: none;
color: #333;
gap: 20px;
transition: 0.3s ease;
}
.all-news-list a:hover {
color: #8c7b64;
background-color: #fafafa;
}
.all-news-list .news-date {
font-family: "Times New Roman", serif;
color: #888;
font-size: 15px;
width: 90px;
flex-shrink: 0;
margin-top: 2px;
}
.all-news-list .news-title {
font-size: 17px;
font-weight: 500;
line-height: 1.5;
} .news-badges {
display: grid;
grid-template-columns: repeat(2, max-content);
gap: 6px;
margin-right: 15px;
flex-shrink: 0;
}
.news-badge {
font-size: 11px;
background: #8c7b64;
color: #fff;
padding: 3px 8px;
border-radius: 3px;
text-align: center;
white-space: nowrap;
letter-spacing: 0.05em;
} .news-not-found {
text-align: center;
padding: 40px 0;
font-size: 16px;
color: #666;
border-top: 1px solid #ddd;
} .news-pagination {
display: flex;
justify-content: center;
gap: 10px;
margin-top: 40px;
}
.news-pagination .page-numbers {
display: flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border: 1px solid #ddd;
color: #333;
text-decoration: none;
border-radius: 4px;
background: #fff;
font-weight: bold;
}
.news-pagination .current {
background: #8c7b64;
color: #fff;
border-color: #8c7b64;
}
.news-pagination .prev,
.news-pagination .next {
width: auto;
padding: 0 15px;
} .single-news-article {
padding: 100px 20px 40px; max-width: 900px;
margin: 0 auto;
}
.single-news-header {
margin-bottom: 30px;
border-bottom: 1px solid #ddd;
padding-bottom: 20px;
}
.single-news-title {
font-size: 30px;
font-family: "Shippori Mincho", serif;
color: #111;
line-height: 1.5;
margin: 0 0 20px 0;
letter-spacing: 0.05em;
}
.single-news-meta {
display: flex;
align-items: center;
gap: 20px;
flex-wrap: wrap;
}
.single-news-meta .news-date {
font-family: "Times New Roman", serif;
font-size: 15px;
color: #888;
}
.single-news-badges {
display: flex;
gap: 8px;
flex-wrap: wrap;
} .single-news-content {
font-size: 17px;
line-height: 2;
color: #333;
font-family: "Noto Sans JP", sans-serif;
text-align: justify;
}
.single-news-content p {
margin-bottom: 1.6em;
}
.single-news-content img {
max-width: 100%;
height: auto;
border-radius: 6px;
margin: 25px 0;
} .single-news-footer {
margin-top: 50px; text-align: center;
}
.back-to-list-btn {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 16px 40px;
background: #fff;
color: #8c7b64;
border: 1px solid #8c7b64;
border-radius: 50px;
font-size: 15px;
font-weight: 600;
text-decoration: none;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(0,0,0,0.03);
position: relative;
overflow: hidden;
letter-spacing: 0.05em;
}
.back-to-list-btn::before {
content: '';
display: inline-block;
width: 8px;
height: 8px;
border-top: 2px solid currentColor;
border-left: 2px solid currentColor;
transform: rotate(-45deg);
margin-right: 12px;
transition: transform 0.3s ease;
}
.back-to-list-btn:hover {
background: #8c7b64;
color: #fff;
box-shadow: 0 8px 20px rgba(140, 123, 100, 0.3);
transform: translateY(-3px);
}
.back-to-list-btn:hover::before {
transform: rotate(-45deg) translate(0px, 0);
} @media (max-width: 768px) {
.all-news-section { padding-top: 80px; padding-bottom: 30px; }
.news-search-box { padding: 20px; margin-bottom: 30px; }
.news-search-form { flex-direction: column; gap: 10px; } .news-search-input, 
.news-search-select, 
.news-search-btn { 
width: 100%; 
min-width: 0; }
.all-news-list a { flex-direction: column; align-items: flex-start; gap: 8px; padding: 15px 10px; }
.all-news-list .news-date { font-size: 14px; margin-top: 0; }
.all-news-list .news-title { font-size: 16px; }
.news-badges { margin-right: 0; margin-bottom: 5px; display: flex; flex-wrap: wrap; }
.single-news-article { padding-top: 80px; padding-bottom: 30px; }
.single-news-title { font-size: 24px; margin-bottom: 15px; }
.single-news-content { font-size: 15px; line-height: 1.8; }
.single-news-footer { margin-top: 40px; }
.back-to-list-btn { width: 100%; max-width: 300px; padding: 14px 20px; }
}