@charset "utf-8";
/* CSS Document */

/* sm list_kyujin */
#list_search{
margin-top: -50px;/*マイナスマージンで調整*/
padding: 50px 0;
border-radius: 0 0 0 50px;
}

.accordion_container{
display: none;
}

.btn_accordion,
.btn_search{
text-align: center;
}

.btn_accordion,
.btn_search button{
display: block;
position: relative;
width: 100%;
border-radius: 30px;
background-color: rgba(255,255,255,1.0);
color: rgba(60,60,60,1.0);
}

.btn_accordion{
padding: 10px 0;
font-size: 1.8rem;
cursor: pointer;
}

.btn_search button{
padding: 13px 0;
font-size: 1.8rem;
}

.btn_accordion:after{
content: "";
display: inline-block;
position: absolute;
top: 18px;
right: 10%;
width: 8px;
height: 8px;
border-top: 1px solid rgba(60,60,60,1.0);
border-right: 1px solid rgba(60,60,60,1.0);
transform: rotate(135deg);
transition: 0.5s;
}

.btn_accordion.close:after{
top: 22px;
transform: rotate(-45deg);
}

.btn_search button:before{
content: "";
display: inline-block;
position: absolute;
top: 16px;
left: 20%;
width: 20px;
height: 20px;
background: url(../img/icon_search.svg)center center/cover no-repeat;
}

#list_search .search_contents{
margin: 30px auto 10px;/*検索ボタンの位置調整　30-20*/
}

#list_search .search_contents dt{
text-align: left;
}

#list_search .search_contents dt:before{
content: "";
display: inline-block;
margin: 0 5px 1px 0;
width: 10px;
height: 10px;
border-radius: 100%;
background: rgba(60,60,60,1.0);
}

#list_search .search_contents dd{
margin-bottom: 20px;
text-align: left;
}

/*プルダウンデザイン*/
#list_search .pseudo_select{
display: inline-block;
position: relative;
width: 100%;
box-sizing: border-box;
padding: 10px 0;
background-color: rgba(255,255,255,1.0);
text-align: center;
vertical-align: middle;
overflow: hidden;
text-overflow: ellipsis;
}

#list_search .pseudo_select select {
-webkit-appearance: none;
width: 100%;
position: absolute;
top: 0;
left: 0;
height: 100%;
opacity: 0;
z-index: 10;
cursor: pointer;
color: rgba(60,60,60,1.0);
}

#list_search .pseudo_select:after {
content: "";
position: absolute;
top: 50%;
margin-top: -2px;
right: 15px;
width: 0;
height: 0;
border: 5px solid transparent;
border-top-color: rgba(60,60,60,1.0);
}


/*チェックボックスデザイン*/
.inner{
width:90%;
padding: 15px 5% 2px;
}

#list_search .checkbox_label a{
line-height: 1.1;
}

#list_search .checkbox_label a:link,
#list_search .checkbox_label a:visited {
color:rgba(60,60,60,1.0);
}

#list_search .checkbox_label{
display: inline-block;
position: relative;
cursor: pointer;
margin-right: 20px;
padding-left: 35px;
overflow: hidden;
}

#list_search .checkbox_label:before{
content: "";
position: absolute;
left: 0px;
top: 0;
z-index: 3;
width: 26px;
height: 26px;
border: 1px solid rgba(60,60,60,0.5);
box-sizing: border-box;
}

label.checkbox_label.focus:before{
border-color: rgba(110,110,110,0.5);
}

label.checkbox_label:after{
display: block;
content: "";
position: absolute;
top: 10px;
left: 8px;
z-index: 1;
margin-top: -10px;
width: 8px;
height: 16px;
border-right: 3px solid rgba(0,63,146,1.0);
border-bottom: 3px solid rgba(0,63,146,1.0);
transform: rotate(45deg);
-ms-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
}

label.checkbox_label input[type="checkbox"]{
-moz-appearance: none;
-webkit-appearance: none;
display: block;
position: absolute;
z-index: 2;
left: -26px;
width: 26px;
height: 26px;
margin: 0px;
padding: 0px;
border: none;
border-radius: 0;
box-sizing: border-box;
box-shadow: 26px 0px 1px rgba(255,255,255,1.0);
background: rgba(255,255,255,1.0);
}

label.checkbox_label input:checked{
box-shadow: none;
}

/*フリーワードデザイン*/
input[type="search"] {
width: 100%;
box-sizing: border-box;
padding: 20px 5px 20px 10px;
border: none;
}

#list_kyujin .no_contents{
text-align: center;
}

#list_kyujin .kyujin_count{
font-size: 1.2rem;
}

#list_kyujin .kyujin_count span{
font-size: 2.0rem;
}

#list_kyujin .kyujin_li{
padding: 30px 0;
border-top: 1px solid rgba(220,220,220,1.0);
}

#list_kyujin .kyujin_li:last-of-type{
margin-bottom: 50px;
border-bottom: 1px solid rgba(220,220,220,1.0);
}

#list_kyujin .data-koyo{
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 10px;
font-size: 1.2rem;
}

#list_kyujin .koyo_ul{
display: flex;
justify-content: space-between;
align-items: flex-start;
}

#list_kyujin .koyo_ul li{
margin-left: 3px;
margin-bottom: 3px;
padding: 5px 5px 2px 5px;
border: 1px solid rgba(0,63,146,1.0);
font-size: 1.2rem;
}

#list_kyujin h3{
margin-bottom: 10px;
font-size: 1.8rem;
line-height: 1.4;
}

#list_kyujin .company{
margin-bottom: 10px;
font-size: 1.4rem;
font-weight: bold;
}

#list_kyujin .photo{
margin-bottom: 10px;
text-align: center;
}

#list_kyujin h4{
margin-bottom: 10px;
}

#list_kyujin dl{
overflow-wrap: break-word; 
}

#list_kyujin dl dt{
font-weight: bold;
}

#list_kyujin dl dd{
margin-bottom: 10px;
}

#list_kyujin dl dd:last-child{
margin-bottom: 30px;
}

#list_kyujin .btn_frame{
text-align: center;
}

#list_kyujin .btn_frame .btn_kyujin{
margin-bottom: 20px;
}


/* md list_kyujin */
@media screen and (min-width:768px) {
.btn_accordion{
width: 300px;
margin: 0 auto;
}

.btn_search button{
width: 350px;
margin: 0 auto;
}

#list_search .search_contents dl{
display: flex;
flex-wrap: wrap;
width: 100%;
max-width: 768px;
margin: 0 auto;
}

#list_search .search_contents dt{
width: 20%;
}

#list_search .search_contents dd{
width: 80%;
}

#list_kyujin .kyujin_li{
padding: 40px 0;
}

#list_kyujin .data-koyo{
margin-bottom: 15px;
}

#list_kyujin .koyo_ul li{
margin-left: 10px;
font-size: 1.4rem;
}

#list_kyujin h3{
margin-bottom: 15px;
font-size: 2.0rem;
}

#list_kyujin .kyujin-frame{
display: flex;
justify-content: space-between;
align-content: flex-start;
margin-bottom: 30px;
}

#list_kyujin .photo{
width: 30%;
margin-bottom: 0;/*smでのデザインを解除*/
}

#list_kyujin .kyujin_text{
width: 68%;
}

#list_kyujin dl{
display: flex;
flex-wrap: wrap;
width: 100%;
}

#list_kyujin dl dt{
width: 10%;
}

#list_kyujin dl dd{
width: 90%;
}

#list_kyujin .btn_frame{
max-width: 700px;
display: flex;
justify-content: space-between;
align-content: flex-start;
margin: 0 auto;
}

#list_kyujin .btn_frame .btn_kyujin{
margin-bottom: 0;/*smでのデザインを解除*/
}
}


/* lg list_kyujin */
@media screen and (min-width:1024px) {
#list_search{
margin-top: -100px;/*マイナスマージンで調整*/
padding: 100px 0;
border-radius: 0 0 0 200px;
text-align: center;
}

#list_kyujin .kyujin_li:last-of-type{
margin-bottom: 100px;
}

.btn_accordion,
.btn_search button{
transition: 0.5s;
}

.btn_accordion:hover,
.btn_search button:hover{
background-color: rgba(60,60,60,0.1);
}
}


/* sm detail_kyujin */
#detail_kyujin .data-koyo{
margin-bottom: 10px;
font-size: 1.2rem;
}

#detail_kyujin .koyo_ul{
display: flex;
align-items: flex-start;
}

#detail_kyujin .koyo_ul li{
margin-left: 3px;
margin-bottom: 3px;
padding: 5px 6px 2px 6px;
border: 1px solid rgba(0,63,146,1.0);
font-size: 1.2rem;
}

#detail_kyujin h3{
margin-bottom: 10px;
font-size: 1.8rem;
line-height: 1.4;
}

#detail_kyujin .company{
margin-bottom: 10px;
font-size: 1.4rem;
font-weight: bold;
}

#detail_kyujin .photo{
margin-bottom: 10px;
text-align: center;
}

#detail_kyujin h4{
margin-bottom: 30px;
line-height: 1.4;
}

#detail_kyujin h5{
margin-bottom: 20px;
padding: 5px 0;
border-radius: 5px;
font-size: 1.8rem;
text-align: center;
}

#detail_kyujin dl{
overflow-wrap: break-word; 
}

#detail_kyujin dl dt{
font-weight: bold;
}

#detail_kyujin dl dd{
margin-bottom: 20px;
padding-bottom: 15px;
border-bottom: 1px solid rgba(220,220,220,1.0);
line-height: 1.4;
}

#detail_kyujin dl dd:last-child{
margin-bottom: 30px;
}

#detail_kyujin .btn_frame{
text-align: center;
}

#detail_kyujin .btn_entry,
#detail_kyujin .btn_tel{
margin-bottom: 20px;
}


/* md detail_kyujin */
@media screen and (min-width:768px) {
#detail_kyujin .inner{
width: 80%;
margin: 0 auto;
}

#detail_kyujin .data-koyo{
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 10px;
font-size: 1.2rem;
margin-bottom: 15px;
}

#detail_kyujin .koyo_ul{
justify-content: space-between;
}

#detail_kyujin .koyo_ul li{
margin-left: 10px;
font-size: 1.4rem;
}

#detail_kyujin h3{
margin-bottom: 15px;
font-size: 2.4rem;
}

#detail_kyujin .kyujin_frame{
display: flex;
justify-content: space-between;
align-content: flex-start;
margin-bottom: 30px;
}

#detail_kyujin .photo{
width: 40%;
margin-bottom: 0;/*smでのデザインを解除*/
}

#detail_kyujin h4{
width: 58%;
margin-bottom: 0;/*smでのデザインを解除*/
}

#detail_kyujin h5{
margin-bottom: 30px;
padding: 10px 0;
border-radius: 10px;
font-size: 2.0rem;
}

#detail_kyujin dl{
display: flex;
flex-wrap: wrap;
width: 100%;
margin-bottom: 40px;
}

#detail_kyujin dl dt{
width: 130px;
margin-bottom: 30px;
padding-bottom: 15px;
border-bottom: 1px solid rgba(220,220,220,1.0);
}

#detail_kyujin dl dd{
width: calc(100% - 130px);
margin-bottom: 30px;
padding-bottom: 15px;
border-bottom: 1px solid rgba(220,220,220,1.0);
}

#detail_kyujin dl dt:last-of-type,
#detail_kyujin dl dd:last-of-type{
margin-bottom: 0;
}

#detail_kyujin .btn_frame{
max-width: 700px;
display: flex;
flex-direction: row-reverse;
justify-content: space-between;
align-content: flex-start;
margin: 0 auto;
}
}


/* lg detail_kyujin */
@media screen and (min-width:1024px) {
#detail_kyujin .inner{
width: 70%;
}
}

/* lg detail_kyujin */
@media screen and (min-width:1280px) {
#detail_kyujin .inner{
width: 55%;
}
}