.news-content{max-width:1000px;padding-top:48px;padding-bottom:90px;min-height:300px}
.news-filters{display:grid;grid-template-columns:minmax(0,1fr) 190px auto;gap:18px;align-items:end;background:#f6f5f5;padding:24px;margin-bottom:48px}
.news-field{display:grid;gap:8px;font-size:14px;font-weight:700}.news-field input,.news-field select{width:100%;height:48px;padding:0 12px;border:1px solid #ccc;background:white;font:inherit;font-weight:400}
.news-search{height:48px;padding:0 28px;color:white;background:#191919;border:0;font-weight:700;cursor:pointer}.news-search:hover{background:#d3152c}
.news-list-heading{font-size:23px;margin:0 0 18px}.news-row{display:grid;grid-template-columns:120px 1fr;gap:8px 20px;padding:22px 12px;color:inherit;text-decoration:none;border-top:1px solid #ddd;transition:background .2s}.news-row:last-child{border-bottom:1px solid #ddd}.news-row:hover{background:#faf5f5}.news-row h3{grid-column:2;margin:0;font-size:18px;line-height:1.6}.news-date{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:#333;letter-spacing:.05em;white-space:nowrap}.news-date::before{content:"";display:inline-block;width:3px;height:17px;background:#d3152c;flex:none}.news-tags{display:flex;gap:6px;flex-wrap:wrap}.news-tags span{border-radius:999px;padding:3px 11px;font-size:12px;font-weight:700;background:#f0eeee;color:#4c4747}.news-tags .news-tag-activity{background:#eaf3ea;color:#29603b}.news-tags .news-tag-trial{background:#e8f2fb;color:#255e8d}.news-tags .news-tag-notice{background:#fcecee;color:#a41d31}.news-tags .news-tag-happy{background:#fff4db;color:#815600}.news-tags .news-tag-member{background:#f3eaf8;color:#74428b}.news-tags .news-tag-event{background:#fff0e5;color:#944b17}.news-empty{padding:24px 0;color:#555}.news-pagination{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:36px}.news-pagination a{color:#191919}.news-article{max-width:850px;margin:auto}.news-article-meta{display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap}.news-article-title{font-size:clamp(25px,3vw,36px);line-height:1.5;margin:18px 0 32px}.news-body{line-height:2;overflow-wrap:anywhere;border-top:1px solid #ddd;padding-top:30px}.news-body img{display:block;max-width:100%;height:auto;margin:20px auto}.news-body table{max-width:100%;display:block;overflow-x:auto;border-collapse:collapse}.news-body td,.news-body th{border:1px solid #ccc;padding:8px}.news-body a{color:#b90e28;text-decoration:underline}.news-back{position:relative;display:flex;align-items:center;justify-content:center;min-height:50px;width:fit-content;margin:60px auto 0;padding:12px 48px 12px 32px;background:#191919;color:white;text-decoration:none;font-weight:700}a.news-back:hover{background:#d3152c;color:#fff}
@media(max-width:700px){.news-content{padding-top:28px;padding-bottom:50px}.news-filters{grid-template-columns:1fr 1fr;padding:16px;gap:14px;margin-bottom:32px}.news-field:first-child{grid-column:1/-1}.news-search{width:100%}.news-row{grid-template-columns:1fr;gap:8px;padding:18px 6px}.news-row h3{grid-column:1;font-size:16px}.news-list-heading{font-size:20px}.news-article-meta{gap:10px 16px}.news-article-title{margin:16px 0 26px}.news-body{padding-top:24px}.news-back{margin-top:40px}}

.news-neighbors{max-width:850px;margin:48px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.news-neighbor{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px 20px;border:1px solid #ddd;text-decoration:none;color:inherit;min-width:0}.news-neighbor:hover{background:#faf5f5}.news-neighbor-label{font-size:13px;color:#a80f22;font-weight:700}.news-neighbor strong{line-height:1.6;overflow-wrap:anywhere}.news-neighbor .news-date{font-size:12px}@media(max-width:700px){.news-neighbors{gap:10px;margin-top:32px}.news-neighbor{padding:14px 12px}.news-neighbor strong{font-size:13px}}

.news-related{max-width:850px;margin:48px auto 0;padding:26px 0 0;border-top:1px solid #ddd}.news-related h2{font-size:20px;line-height:1.5;margin:0 0 18px}.news-related-links{display:flex;flex-wrap:wrap;gap:10px}.news-related-links a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:12px 18px;border:1px solid #ddd;background:#f8f7f7;color:#191919;font-weight:700;text-decoration:none}.news-related-links a::after{content:"→";color:#d3152c}.news-related-links a:hover{border-color:#d3152c;color:#c41228}.news-related-links a:focus-visible{outline:3px solid #d3152c;outline-offset:3px}@media(max-width:700px){.news-related{margin-top:32px;padding-top:22px}.news-related h2{font-size:18px}.news-related-links{display:grid;grid-template-columns:1fr}.news-related-links a{font-size:14px}}

/* 記事タイトルと本文の見出しの階層を分ける。 */
.news-body :is(h1,h2,h3,h4,h5,h6){font-size:clamp(18px,2vw,24px);line-height:1.6;margin:1.8em 0 .6em;font-weight:700}.news-body :is(h1,h2,h3,h4,h5,h6):first-child{margin-top:0}.news-body :is(h4,h5,h6){font-size:18px}.news-body p{font-size:16px;line-height:1.9;margin:0 0 1em}@media(max-width:700px){.news-body :is(h1,h2,h3,h4,h5,h6){font-size:19px}.news-body p{font-size:15px}}

/* スマホでは片側だけの記事リンクも横幅を使い、タイトルを読みやすくする。 */
@media(max-width:700px){.news-neighbors.is-single>div:empty{display:none}.news-neighbors.is-single .news-neighbor{grid-column:1/-1}}

/* 詳細画面では記事の先頭に余白を確保する。 */
.news-content[data-page="detail"]{padding-top:64px}@media(max-width:700px){.news-content[data-page="detail"]{padding-top:32px}}
