@charset "UTF-8";

.btnConstruction,.btnFood{margin-top:1em;margin-bottom:1em;cursor:pointer;transition:0.3s ease-in-out;text-decoration: none;background:#fff;border-radius:0.75rem;box-shadow:0.5px 1px 6px rgba(0, 0, 0, 0.15),1px 2px 10px rgba(0, 0, 0, 0.075);padding:1.2em 0.5em 1em;font-weight:bold;font-size:1.1em;display:flex;flex-direction:column;align-items:center;text-align:center;width:min(100%,150px);}
.btnConstruction>img,.btnFood>img{width:50%;margin-right:auto;margin-left:auto;}
.btnConstruction{color: #0E75AE;}
.btnFood{color: #6eba33;}
.btnConstruction:hover{color: #0E75AE;}
.btnFood:hover{color: #6eba33;}
.btnConstruction:hover ,.btnFood:hover{box-shadow:1px 2px 10px rgba(0, 0, 0, 0.1),2px 4px 20px rgba(0, 0, 0, 0.05);transform:scale(1.01);opacity:0.8;}
#archive_case .item{transition:0.2s ease-in;transform: translateY(0px);box-shadow:0.5px 0.5px 6px rgba(120,120,120,0.5);}
#archive_case .item:hover{transform:scale(1.02);}
.case_list{margin-top:4em;margin-bottom:4em;}
#archive_case{overflow-x:clip;}
#archive_case *,#archive_case *::before,#archive_case *::after{box-sizing:border-box;}
#archive_case,#react-case-filter,.pullDownContainer,.pullDownContainerInner{max-width:100%;}
#archive_case img{max-width:100%;height:auto;}
#react-case-filter .filterResultCount{min-width:0;overflow-wrap:anywhere;}
#react-case-filter .selectPull{max-width:100%;}
#react-case-filter .selectPull select{max-width:100%;}
#react-case-filter .case_list .item{opacity:0;transform:translateY(16px);}
#react-case-filter .case_list.is-ready .item{opacity:1;transform:translateY(0);transition:opacity .35s ease,transform .35s ease;}
#react-case-filter .case_list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,320px));gap:24px;align-items:stretch;justify-content:start;padding:0;list-style:none;}
#react-case-filter .case_list .item{width:min(100%,320px);margin:0;place-self:start;text-align:left;}
#react-case-filter .case_list .item .image_wrap,#react-case-filter .case_list .item .title_area{width:100%;}
#react-case-filter .case_list .item .post-cate ul{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:0.4em;padding:0;margin:0;list-style:none;}
/* ── React チェックボックスフィルター ── */
#filterPanel{display:flex;flex-wrap:wrap;gap:2em;margin:0 0 2em;justify-content:center;padding:2em;}
.filterGroup{min-width:180px;}
.filterGroupLabel{font-weight:bold;font-size:0.82em;color:#555;margin:0 0 1.6em;border-bottom:1px solid #CCC43F;padding-bottom:0.5em;display:block;}
.filterTerms{display:flex;flex-direction:column;gap:0.4em;}
.filterTerm{display:flex;align-items:center;gap:0.5em;cursor:pointer;font-size:0.88em;color:#444;transition:color 0.2s;}
.filterTerm input{-webkit-appearance:none;appearance:none;width:15px;height:15px;cursor:pointer;flex-shrink:0;border:1.5px solid #CCC43F;border-radius:3px;background:#fff;display:grid;place-content:center;transition:background-color .2s,border-color .2s;}
.filterTerm input::before{content:"";width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transform-origin:center;transition:transform .15s ease-in-out;}
.filterTerm input:checked{background:#CCC43F;border-color:#CCC43F;}
.filterTerm input:checked::before{transform:rotate(45deg) scale(1);}
.filterTerm input:focus{outline:none;}
.filterTerm.is-checked{color:#CCC43F;font-weight:bold;}
.filterResultCount{font-size:0.9em;color:#666;margin-right:1em;}
.resultTotal{font-size: 1.5em;font-weight: bold;color:#CCC43F;}
.react-pagination{margin:2em 0;text-align:center;}
.react-pagination ul{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:0.4em;padding:0;margin:0;margin-bottom:4em;}
.react-pagination li a,.react-pagination li button{display:inline-block;min-width:2.2em;padding:0.4em 0.6em;border:1px solid #ddd;border-radius:4px;background:none;color:#444;text-decoration:none;font-size:0.9em;cursor:pointer;transition:all 0.2s;}
.react-pagination li a:hover,.react-pagination li button:hover{border-color:#CCC43F;color:#CCC43F;}
.react-pagination li a.current,.react-pagination li button.current{background:#666;border-color:#666;color:#fff;font-weight:bold;pointer-events:none;}
@media(max-width:768px){#filterPanel{flex-direction:column;gap:1.2em;}.filterTerms{flex-direction:row;flex-wrap:wrap;}#react-case-filter .case_list{grid-template-columns:repeat(auto-fit,minmax(240px,320px));justify-content:start;gap:16px;}}
/* ── SEO対策：JS有効時は非表示 ── */
.js-enabled .php-seo-fallback{display:none;}

/* Last resort: prevent accidental horizontal overflow that makes the page look right-shifted */
html,body{overflow-x:hidden;}