.cs-section{background:#f8f9fa;color:#2c3b3a;font-family:Noto Sans JP,sans-serif;padding:40px 0;width:100%}.cs-filter-form{background-color:transparent;padding:0}.cs-inner{margin:0 auto;max-width:1200px;padding:0 20px}.cs-header{margin-bottom:40px}.cs-title{border-bottom:4px solid #cc0714;display:inline-block;font-size:32px;font-weight:700;margin-bottom:16px;padding-bottom:8px}.cs-desc{color:#555;font-size:16px;margin:0}.cs-filter-section{margin-bottom:50px}.cs-filter-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.03);padding:20px 30px}.cs-filter-row{align-items:flex-start;display:flex;padding:16px 0;position:relative}.cs-filter-row:last-child{border-bottom:none;padding-bottom:0}.cs-filter-row:first-child{padding-top:0}.cs-filter-label-col{flex:0 0 140px;padding-top:4px}.cs-filter-label{color:#333;font-size:15px;font-weight:700;margin:0}.cs-filter-options-col{flex:1}.cs-filter-checkboxes{display:flex;flex-wrap:wrap;gap:10px 24px}.cs-filter-option{align-items:center;color:#2c3b3a;cursor:pointer;display:inline-flex!important;font-size:14px;font-weight:500;gap:8px;margin:0}.cs-filter-option input[type=checkbox]{appearance:none;background:#fff;border:2px solid #cc0714;border-radius:2px;cursor:pointer;flex:0 0 20px;height:20px;margin:0;position:relative;width:20px}input[type=checkbox]:checked:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:10px;left:6px;position:absolute;top:2px;transform:rotate(45deg);width:5px}.cs-filter-option input[type=checkbox]:checked{background:#cc0714}.nl2-filter-option input{appearance:none;background:#fff;border:2px solid #cc0714;border-radius:2px;cursor:pointer;flex:0 0 20px;height:20px;margin:0;position:relative;width:20px}.nl2-filter-option input:checked{background:#cc0714}.nl2-filter-option input:checked:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:10px;left:6px;position:absolute;top:2px;transform:rotate(45deg);width:5px}.nl2-filter-option input:focus-visible{outline:2px solid rgba(204,7,20,.28);outline-offset:2px}.cs-select-wrapper{max-width:300px}.cs-filter-select{background:#fff;border:1px solid #cc0714;border-radius:4px;color:#333;cursor:pointer;font-size:14px;outline:none;padding:10px 16px;width:100%}.cs-filter-btn-col{flex:0 0 auto;margin-left:20px}.cs-search-btn{align-items:center;background:#fff;border:1px solid #cc0714;border-radius:999px;color:#cc0714;cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;gap:8px;justify-content:center;padding:10px 24px;transition:all .2s}.cs-search-btn:hover{background:#cc0714;color:#fff}.cs-grid{display:grid;gap:30px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:40px}.cs-card[hidden]{display:none}.cs-card__link{background:#fff;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.05);display:flex;flex-direction:column;height:100%;overflow:hidden;text-decoration:none;transition:transform .2s}.cs-card__link:hover{transform:translateY(-4px)}.cs-card__thumb{aspect-ratio:16/9;background:#eee;width:100%}.cs-card__thumb img{height:100%;object-fit:cover;width:100%}.cs-card__body{display:flex;flex:1;flex-direction:column;padding:20px}.cs-card__title{color:#333;display:-webkit-box;font-size:16px;font-weight:700;-webkit-line-clamp:2;line-height:1.5;margin:0 0 16px;-webkit-box-orient:vertical;overflow:hidden}.cs-card__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.cs-tag{background:#fff;border:1px solid #cc0714;border-radius:999px;color:#cc0714;font-size:12px;padding:4px 12px}.cs-pagination-section{display:flex;justify-content:center}.cs-pagination{display:flex;gap:8px}.cs-page{align-items:center;background:#fff;border:1px solid #ddd;border-radius:8px;color:#333;cursor:pointer;display:flex;height:40px;justify-content:center;text-decoration:none;width:40px}.cs-page--active,.cs-page:hover{background:#cc0714;border-color:#cc0714;color:#fff}.cs-page--active{font-weight:700}@media (max-width:992px){.cs-grid{grid-template-columns:repeat(2,1fr)}.cs-filter-row{flex-direction:column}.cs-filter-btn-col{align-self:flex-start;margin-left:0;margin-top:16px}.cs-filter-label-col{flex:auto;margin-bottom:12px}}@media (max-width:768px){.cs-grid{grid-template-columns:1fr}}