@charset "utf-8";
/* CSS Document */

/*sm　search*/
#list_search{
padding: 50px 0;
}

.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;
}

.btn_accordion{
background-color: rgba(34,51,68,1.0);
color: rgba(255,255,255,1.0);
}

.btn_search button{
font: inherit; /* 親のフォント群をそのまま使用 */
background-color: rgba(241,201,76,1.0);
color: rgba(30,30,30,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(255,255,255,1.0);
border-right: 1px solid rgba(255,255,255,1.0);
transform: rotate(135deg);
transition: 0.5s;
}

.btn_accordion.close:after{
top: 22px;
transform: rotate(-45deg);
}

.btn_search button:after{
content: "";
display: inline-block;
position: absolute;
top: 18px;
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 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(30,30,30,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(30,30,30,1.0);
}


/*チェックボックスデザイン*/
.inner{
padding: 15px 3% 10px;
}

#list_search .checkbox_label a{
line-height: 1.1;
}

#list_search .checkbox_label a:link,
#list_search .checkbox_label a:visited {
color:rgba(30,30,30,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(30,30,30,0.5);
box-sizing: border-box;
}

label.checkbox_label.focus:before{
border-color: rgba(30,30,30,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(34,51,68,1.0);
border-bottom: 3px solid rgba(34,51,68,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;
}


/*ドリル検索*/
#search_pref{
/* 初期化 */
appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
width: 100%;
margin-bottom: 10px;
font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
font-size: 1.6rem;
padding: 10px;
background: rgba(255,255,255,1.0);
color: rgba(30,30,30,1.0);
border: none;
border-bottom: 1px solid rgba(90,90,90,0.5);
}

.select_box_inner{
padding: 10px 3% 10px;
}

.select_box{
position: relative;
}

.select_box:after{
content: "";
position: absolute;
top: 24px;
right: 15px;
width: 0;
height: 0;
border: 5px solid transparent;
border-top-color: rgba(30,30,30,1.0);
}

#search_city li{
cursor: pointer;
position: relative;
overflow: hidden;
display: inline-block;
margin-bottom: -10px;
}

#search_city label{
display: inline-block;
position: relative;
cursor: pointer;
margin-right: 20px;
padding-left: 35px;
overflow: hidden;
}

#search_city label:before {
content: "";
position: absolute;
left: 0px;
top: 0;
z-index: 3;
width: 26px;
height: 26px;
border: 1px solid rgba(30,30,30,0.5);
box-sizing: border-box;
}

/*チェックマーク*/
#search_city 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(34,51,68,1.0);
border-bottom: 3px solid rgba(34,51,68,1.0);
transform: rotate(45deg);
-ms-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
}

#search_city li 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);
}

#search_city li input:checked {
box-shadow: none;
}

#search_city li input:checked:focus {
box-shadow: 1.8em 0px 1px rgba(51,51,51,0.5);
opacity: .05;
}

#search_city li input:focus {
box-shadow: 1.8em 0px 1px #fff;
}

/*フリーワードデザイン*/
input[type="search"] {
width: 100%;
box-sizing: border-box;
padding: 20px 5px 20px 10px;
background: rgba(255,255,255,1.0);
border: none;
font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
font-size: 1.4rem;
}


/*md　search*/
@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%;
}
}


/*lg　search*/
@media screen and (min-width:1024px) {
#list_search{
padding: 100px 0;
text-align: center;
}

.btn_accordion,
.btn_search button{
transition: 0.3s;
}

.btn_accordion:hover{
background-color: rgba(255,255,255,1.0);
color: rgba(30,30,30,1.0);
}

.btn_search button:hover{
background-color: rgba(255,255,255,1.0);
color: rgba(30,30,30,1.0);
}

.btn_accordion:hover:after{
border-top: 1px solid rgba(30,30,30,1.0);
border-right: 1px solid rgba(30,30,30,1.0);
}

/*位置微調整*/
.select_box:after{
right: 30px;
}
}


/* sm 共通 */
#title{
background: url("../img/bg_kyujin.jpg") center center/cover no-repeat;
}

#kyujin_list .data_koyo,
#kyujin_detail .data_koyo{
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 10px;
font-size: 1.2rem;
}

#kyujin_list .koyo_ul,
#kyujin_detail .koyo_ul{
display: flex;
justify-content: space-between;
align-items: flex-start;
}

#kyujin_list .koyo_ul li,
#kyujin_detail .koyo_ul li{
margin-left: 3px;
margin-bottom: 3px;
padding: 5px 5px 2px 5px;
border: 1px solid rgba(34,51,68,1.0);
font-size: 1.0rem;
}

#kyujin_list h3,
#kyujin_detail h3{
margin-bottom: 10px;
font-size: 1.8rem;
line-height: 1.5;
font-weight: bold;
}

#kyujin_list .company,
#kyujin_detail .company{
margin-bottom: 10px;
font-size: 1.4rem;
font-weight: bold;
}

#kyujin_list .photo,
#kyujin_detail .photo{
margin-bottom: 10px;
text-align: center;
}

#kyujin_list dl,
#kyujin_detail dl{
overflow-wrap: break-word; 
}

#kyujin_list dl dt,
#kyujin_detail dl dt{
font-weight: bold;
}

#kyujin_list dl dd,
#kyujin_detail dl dd{
margin-bottom: 20px;
line-height: 1.5;
}

#kyujin_list dl dd:last-child,
#kyujin_detail dl dd:last-child{
margin-bottom: 30px;
}


/* md 共通 */
@media screen and (min-width:768px) {
#kyujin_list li{
padding: 40px 0;
}

#kyujin_list .data_koyo,
#kyujin_detail .data_koyo{
margin-bottom: 15px;
}

#kyujin_list .koyo_ul li,
#kyujin_detail .koyo_ul li{
margin-left: 10px;
font-size: 1.4rem;
}

#kyujin_list h3,
#kyujin_detail h3{
margin-bottom: 15px;
font-size: 2.0rem;
}

#kyujin_list .kyujin_frame,
#kyujin_detail .kyujin_frame{
display: flex;
justify-content: space-between;
align-content: flex-start;
margin-bottom: 50px;
}

#kyujin_list .photo,
#kyujin_detail .photo{
width: 40%;
margin-bottom: 0;/*smでのデザインを解除*/
}

#kyujin_list dl,
#kyujin_detail dl{
display: flex;
flex-wrap: wrap;
align-items: baseline;
width: 100%;
}

#kyujin_list dl dd:last-child{
margin-bottom: 0;
}

#kyujin_detail dl dd:last-child{
margin-bottom: 50px;
}
}


/*sm　list*/
#kyujin_list .kyujin_count{
font-size: 1.2rem;
}

#kyujin_list .kyujin_count span{
font-size: 1.4rem;
}

#kyujin_list li{
padding: 30px 0;
border-bottom: 1px solid rgba(30,30,30,0.5);
}

#kyujin_list h4{
margin-bottom: 10px;
font-weight: bold;
}

#kyujin_list dl dt{
width: 70px;
}

#kyujin_list dl dd{
width: calc( 100% - 70px );
}


/* md kyujin_list */
@media screen and (min-width:768px) {
#kyujin_list li{
padding: 40px 0;
}

#kyujin_list .kyujin_text{
width: 58%;
}
}


/* lg kyujin_list */
@media screen and (min-width:1024px) {
#kyujin_list .page_nav{
width: 40%;
}
}


/* sm kyujin_detail */
#kyujin_detail h4{
margin-bottom: 30px;
font-weight: bold;
line-height: 1.5;
}

#kyujin_detail h5{
margin-bottom: 20px;
border-bottom: 1px solid rgba(30,30,30,0.5);
font-size: 1.8rem;
text-align: center;
font-weight: bold;
}


/* md kyujin_detail */
@media screen and (min-width:768px) {
#kyujin_detail h4{
width: 58%;
margin-bottom: 0;/*smでのデザインを解除*/
}

#kyujin_detail h5{
margin-bottom: 30px;
}

#kyujin_detail dl dt{
width: 130px;
}

#kyujin_detail dl dd{
width: calc( 100% - 130px );
}
}


/* lg kyujin_detail */
@media screen and (min-width:1024px) {
#kyujin .inner_lg{
width: 70%;
max-width: 768px;
}
}