/*
.clCompanyBlock {
    padding: 20px;
    border-bottom: 1px solid #ccc;    
}
.clCompanyBlock .clCompanyWrap{
    display: flex;
}
.clCompanyBlock .clCompanyWrap .clLogoImage{
    width: 250px;
}
.clCompanyBlock .clCompanyWrap .clTextWrap{
    padding: 0px 20px;
}
.clCompanyBlock .clCompanyWrap .clTextWrap .clText .clIcon{
    margin-bottom: 10px;
}
.clCompanyBlock .clCompanyWrap .clTextWrap .clText .clIcon .clarea{
    background-color:#F4BA1E;
    color: #fff;
    padding: 5px;
    font-size: 14px;
.clCompanyBlock .clCompanyWrap .clTextWrap .clText .clIcon .clindustry{
    background-color:#1EA4DC;
    color: #fff;    
    padding: 5px;
    margin-left: 20px;
    font-size: 14px;
}
*/

div.ccm-page main .ccm-search-block-form h3{
    color:#1070bc;
    font-size:1.2em;
    text-transform:inherit;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.ccm-block-page-list-wrapper{
    margin-top: 40px;
    word-break: break-all;
}
.ccm-search-block-form{
    background-color: #fef0da;
    padding: 30px 20px;
}

.search_at_Industry div.checkbox{
    display: inline-block;
    margin-left: 20px;
}

.search_at_occupation_sel div.checkbox{
    display: inline-block;
    margin-left: 20px;
}

.search_at_area div.checkbox{
    display: inline-block;
    margin-left: 20px;
    margin-top: 5px;
    margin-bottom: 0px;
}

.search_at_date_1 div.checkbox,.search_at_date_2 div.checkbox,.search_at_date_3 div.checkbox{
    display: inline-block;
    margin-left: 20px;
}

.search_at_sdgs_sel div.checkbox{
    display: inline-block;
    margin-left: 20px;
}

.search_at_interest_list div.checkbox{
    display: inline-block;
    margin-left: 20px;
}

.search_at_request_jp_level div.checkbox{
    display: inline-block;
    margin-left: 20px;
}
.search_at_request_other_level_list div.checkbox{
    display: inline-block;
    margin-left: 20px;
}
.search_at_department_list div.checkbox{
    display: inline-block;
    margin-left: 20px;
}
.search_at_company_features div.checkbox{
    display: inline-block;
    margin-left: 20px;
}

.search_at_company_features label.control-label,.search_at_Industry label.control-label,.search_at_occupation_sel label.control-label,.search_at_area label.control-label,.search_at_date_1 label.control-label,.search_at_date_2 label.control-label,.search_at_date_3 label.control-label,.search_at_interest_list label.control-label,.search_at_request_jp_level label.control-label,.search_at_request_other_level_list label.control-label,.search_at_department_list label.control-label{
    display: block;
    border-left: 10px solid #f0d080;
    padding-left: 10px;
}

.clbtnwrap{
    display: flex;
    margin-top: 30px;
    justify-content: center;
}
.search-submit{text-align: center;}
div.ccm-page .search-submit .btn-default{
    color: #fff;
    font-weight: 700;
    font-size: 1.2em;
    background-color: #000;
    border-color: #000;
    width: 300px;
    padding:5px 10px;
    position:relative;
}
div.ccm-page .search-submit .btn-default:hover{
    opacity:0.6;
}


/*フリーワード検索 ラベル*/
.form-group-freeword-search label{vertical-align: middle;}


/***  リスト表示  ***/
.ccm-block-page-list-pages{
    margin-top: 40px;
/*    display: flex;*/
    flex-wrap: wrap;
}

.clCompanyBlock{
    width: 48%;
    padding: 20px;
    border: 1px solid #ccc;
    margin: 40px 1%;    
}
.clCompanyBlock .clCompanyWrap{
    display: flex;
    display: -webkit-flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.clCompanyWrap .clcomWrap{
    width: 40%;
}

.clCompanyBlock .clCompanyWrap .clLogoImage{
/*
    width: 200px;
    max-width: 50%;
*/

    max-height: 100px;
    width: 50%;

}
.clCompanyBlock .clCompanyWrap .clLogoImage img{
    max-height: 100%;
    margin-left: auto;
    text-align: right;
    max-width: 100%;
}

.clCompanyName{
    text-align: center;
    padding: 10px 0px;
    background-color:#fef0da;
    margin: 20px auto;
}

.clTextWrap dl{
    margin-bottom: 20px;
    display: flex;
    display: -webkit-flex;
    -webkit-align-items: start;
    align-items: start;
}

.clTextWrap dl.clitemcenter{
    -webkit-align-items: center;
    align-items: center;
}

.clTextWrap dl dt{
    width: 6em;
    padding: 10px;
    background-color: #F4BA1E;
    color: #fff;
    margin-right: 20px;
    text-align: center;
}

.clTextWrap dl dd{
    width: calc(100% - 8em);
}
.clTextWrap .clPR{
    background-color: #e0ecfc;
    padding: 15px;
}
.clComListBtn{
    text-align: center;
}
.clComListBtn a{
    color: #fff !important;
    border-radius: 10px;
    display: inline-block;
    width: 280px;
    padding: 16px 20px;
    text-decoration: none;
    color: #FFF;
    background-color: #1EA4DC;
    transition: .4s;
    margin: 20px auto;
    font-weight: 700;
    font-size: 1.2em;
}
.clreset{
    margin-right: 20px;
}
div.ccm-page .btn-default.form-reset{
    background-color: #c0c0c0;
    color: #fff;
    border: 1px solid #bbb;
    cursor: pointer;
    text-align: center;
    padding: 7px;
    width:300px;
}
div.ccm-page .btn-default.form-reset:hover{
    background-color: #b0b0b0; 
}

.pagination li a{color:#20bde8 !important;}

.ccm-search-block-form .cltitle{
    display: block;
    border-left: 10px solid #f0d080;
    padding-left: 10px;
    margin-bottom: 5px;
    font-weight: 700;
}

.search_at_sdgs_sel label.control-label{display: none;}

.clsdgs{
        margin:0px auto;
}
.clsdgs ul{
          list-style:none;
          display:flex;
          display: -webkit-flex;
          flex-wrap:wrap;
          padding-left:0px;
}
.clsdgs ul li{
            width:80px;
            padding:5px;
}    
.clsdgslink{text-align: center;font-weight: bold;margin-bottom: 30px;}
.clsdgslink a{color: #1EA4DC !important;text-decoration: underline;}

.clCompanyBlock .clsdgs ul li{
    width:50px;
    padding:1px;
}

.ccm-search-block-form label.control-label{display:none;}
.ccm-search-block-form .form-group{display:flex;flex-wrap:wrap;}

p.attlabel{
    min-width:10em;
    margin-bottom:0px;
    color:#ed5379;
    font-size:24px;
}
.search-count-summary{font-size:15px;}
.search-count-summary.no-results{font-size: 18px;font-weight: 600;}
/*
.filter-square { display:inline-block; padding:6px 10px; border:1px solid #ccc; cursor:pointer; }

.filter-square.fsq-on { background:#e60023; color:#fff; border-color:#e60023; }
.filter-square.fsq-off { background:#f5f5f5; color:#333; }
*/
          /* 検索チェック（四角ボタン化のため実inputを隠す） */
.filter-square-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

.filter-square {
    display: inline-block;
    cursor: pointer;
}

/* キーボード操作時の見やすさ（お好みで） */
/*
.filter-square:focus-within {
    outline: 2px solid #999;
    outline-offset: 2px;
}
*/
.formWrap{
    background-color: #fff;
}
.ccm-search-block-form{
    background-color: #fff;
    padding: 50px 50px;
    max-width:900px;
    margin:auto;
    overflow: hidden;
}
.ccm-search-block-form fieldset{
    border:0px;
}
.search_rec25_area,.search_rec25_occupation,.search_rec25_post,.search_rec25_free{
    display:flex;
    flex-wrap: wrap;
    -webkit-align-items: center;
    align-items: center;
    margin-bottom:20px;
}

.search-submit{}

/* ▼ 追加：選択状態で背景色を変えるスタイル */

.midOcp { transition: background-color .2s ease; }
.recWrapBox .recInner .midOcp{
    background-color: #ffffff;    
}
.recWrapBox .recInner .midOcp.job-selected-on {
    border: 5px solid #ed5379;
    padding: 15px;
} 
.recWrapBox .recInner .midOcp.job-selected-off {
    border:0px;
} 


/* ネイティブの□を視覚的に隠す（inputのみ） */
input.filter-square-input{
  position: absolute;
  opacity: 0;
  width: 1px; height: 1px;
  pointer-events: none;
}

/* ボタンの見た目は input 直後の .fsq-box に当てる（CSSで切替） */
.fsq-box { 
    display:inline-block; 
    padding:6px 10px; 
    margin:2px; 
    border-radius:3px;
}

/* OFF（未選択） */
label > input.filter-square-input + .fsq-box {
  background:#f5f5f5; 
  color:#333; 
  border:2px solid #ccc;
}
label > input.filter-square-input + .fsq-box:hover {
  color:#ed5379; 
  border-color:#ed5379;
}

/* ON（選択）: input:checked + .fsq-box で確実に切替 */
label > input.filter-square-input:checked + .fsq-box {
  background:#ffe5e5; 
  color:#ed5379; 
  border:2px solid #ed5379;
}
label > input.filter-square-input:checked + .fsq-box:hover {
  background:#fff; 
}
/* キーボード操作の視認性（お好みで） */
label:focus-within .fsq-box { 
/*
    outline:2px solid #999; 
    outline-offset:2px; 
*/
}

/* 右側に配置 */
.job-select{
  display:block;
  text-align: right;
/*
  justify-content:flex-end;
  align-items:center;
  position: absolute;
  top:20px;
  right:60px;
*/
}

/* iPhone風トグル（50x20） */
.job-toggle{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  cursor:pointer;
  font-size:1rem;
  user-select:none;
}
.job-toggle input.job-select-checkbox{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  border:0;
  clip:rect(0 0 0 0);
}

.job-toggle .toggle-slider{
  position:relative;
  width:50px;
  height:20px;
  background:#cfcfcf;
  border-radius:999px;
  transition:background-color .2s ease;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);
}
.midOcp.job-selected-on .job-toggle .toggle-slider{
    background:#34c759;
}
.midOcp.job-selected-off .job-toggle .toggle-slider{
  background:#cfcfcf;    
}
.job-toggle .toggle-slider::before{
  content:"";
  position:absolute;
  top:2px;
  left:2px;
  width:16px;
  height:16px;
  background:#fff;
  border-radius:50%;
  box-shadow:0 1px 3px rgba(0,0,0,.25);
  transition:transform .2s ease;
}
/* 選択時は背景を緑（+ を ~ に変更） */
.job-toggle input.job-select-checkbox:checked ~ .toggle-slider{
  background:#34c759;
}
.job-toggle input.job-select-checkbox:checked ~ .toggle-slider::before{
  transform:translateX(30px);
}
.job-toggle input.job-select-checkbox:focus-visible ~ .toggle-slider{
  outline:2px solid #2684ff;
  outline-offset:2px;
}

/* ラベル（左=未選択テキスト、右=選択中テキスト） */
.job-toggle .toggle-label-off,
.job-toggle .toggle-label-on{
  font-size:.95rem;
  white-space:nowrap;
  color:#333;
}
.job-toggle .toggle-label-off{ margin-right:.4rem; }
.job-toggle .toggle-label-on{ margin-left:.4rem; font-weight:700; }

/* 表示切替：visibilityで幅を確保してボタン位置を固定 */
.job-toggle input.job-select-checkbox:not(:checked) ~ .toggle-label-on{ visibility:hidden; }
.job-toggle input.job-select-checkbox:not(:checked) ~ .toggle-label-off{ visibility:visible; }
.job-toggle input.job-select-checkbox:checked ~ .toggle-label-on{ visibility:visible; }
.job-toggle input.job-select-checkbox:checked ~ .toggle-label-off{ visibility:hidden; }

@media screen and (max-width: 768px) {

    .fsq-box{
        font-size:1.4rem;
    }

    .recWrapBox .recInner .midOcp{
        padding-top:20px;   
    }

    .clbtnwrap{
        display:block;
    }
    .clreset{
        text-align: center;
        margin-right: 0px;
        width: 100%;
        margin-bottom: 20px;
    }
    div.ccm-page .btn-default.form-reset{
        width:100%;
    }
    div.ccm-page .search-submit .btn-default{
        width:100%;        
    }    
}


@media screen and (max-width: 481px) {

    .ccm-search-block-form{

        padding:30px 20px;
    }

    .clCompanyBlock {
        padding: 20px;
        border-bottom: 1px solid #ccc;    
    }
    .clCompanyBlock .clCompanyWrap{
        display: block;
    }
    .clCompanyBlock .clCompanyWrap .clLogoImage{
        margin-bottom: 20px;
    }
    .clCompanyBlock .clCompanyWrap .clTextWrap{
    padding: 0px 0px;
    }
    .clCompanyBlock .clCompanyWrap .clTextWrap .clText{}


    /***  リスト表示  ***/
    .ccm-block-page-list-pages{
        margin-top: 40px;
        display: block;
    }

    .clCompanyBlock{
        width: 100%;
        padding: 20px;
        border: 1px solid #ccc;
        margin: 20px 0%;    
    }
    .clCompanyBlock .clCompanyWrap{
        display: flex;
        display: -webkit-flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        height: auto;
    }
    .clCompanyWrap .clcomWrap{
        width: 47%;
    }

    .clCompanyBlock .clCompanyWrap .clLogoImage{
    /*    width: 200px;
        max-width: 50%;
    */
        height: 80px;
        width: 50%;
    }
    .clCompanyBlock .clCompanyWrap .clLogoImage img{
        max-width: 100%;
        max-height: 100%;
        width: auto;
        height: auto;
    }

    .clCompanyName{
        text-align: center;
        padding: 10px 0px;
        background-color:#fef0da;
        margin: 20px auto;
    }

    .clTextWrap dl{
        margin-bottom: 20px;
        display: block;
    }
    .clTextWrap dl dt{
        width: 100%;
        padding: 0px;
        background-color: #fff;
        color: #333;
        margin-right: 0px;
        text-align: left;
        text-decoration: underline;
    }

    .clTextWrap dl dd{
        word-break: break-all;
        width: 100%;
    }
    .clbtnwrap{
        display:block;
    }
    .clreset{
        text-align: center;
        margin-right: 0px;
        width: 100%;
        margin-bottom: 20px;
    }
    div.ccm-page .btn-default.form-reset{
        width:100%;
    }
    div.ccm-page .search-submit .btn-default{
        width:100%;        
    }
    .job-select{
        text-align:center;
    }



}