@charset "UTF-8";

/*------------------------------------------------
	pagin
------------------------------------------------*/
@media screen and ( max-width: 767px ){ /* SP */
	.pagin {
		display: flex;
		align-items: flex-end;
		justify-content: center;
		margin: 20px auto 10px !important;
        list-style: none !important;
	}
	.pagin li {
        margin: 0 !important;
		padding: 0 !important;
	}

	.pagin a {
		box-sizing: border-box;
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 32px;
		height: 32px;
        margin: 0 8px;
		border-radius: 6px;
		text-decoration: none;
        border: solid 1px #3264A0;
	}
	.pagin a.prev::before,
	.pagin a.next::after {
		display: block; content: '';
		width: 0.5em; height: 0.5em;
		margin: 0 5px;
		border: solid #608ab8;
	}
	.pagin a.prev::before {
		border-width: 2px 0 0 2px;
		transform: rotate(-45deg);
	}
	.pagin a.next::after {
		border-width: 2px 2px 0 0;
		transform: rotate(45deg);
	}
	.pagin .active a {
		color: #FFF;
		background: #3264A0;
		cursor: default;
	}
	.pagin .disabled a {
		color: #4d4d4d;
		cursor: default;
	}
}
@media screen and ( min-width: 768px ){ /* PC */
	.pagin {
		display: flex;
		align-items: flex-end;
		justify-content: center;
        margin: 0 !important;
        list-style: none !important;
	}
	.pagin li { margin: 0 !important;}
	.pagin a {
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 32px;
		height: 32px;
        margin: 0 8px;
        border: solid 1px #3264A0;
		border-radius: 6px;
		text-decoration: none;
	}
	.pagin a:hover {
		text-decoration: underline;
	}
	.pagin .active a:hover,
	.pagin .disabled a:hover {
		text-decoration: none;
	}
	.pagin .active a {
		color: #FFF;
		background: #3264A0;
		cursor: default;
	}
	.pagin .disabled a {
		color: #4d4d4d;
		cursor: default;
	}
}

/*------------------------------------------------
	research_operation
------------------------------------------------*/
.research_operation {
    display: flex;
}
@media screen and ( max-width: 767px ){ /* SP */
    .research_operation {
        flex-wrap: wrap;
        margin: 20px 0 10px;
    }
    .research_operation .disp_result {
        margin-top: 10px;
        margin-left: auto;
    }
    .research_operation .search_refine {
        width: 100%;
        margin: 10px 0 0;
    }
}
@media screen and ( min-width: 768px ){ /* PC */
    .research_operation {
        margin: 40px 0 10px;
    }
    .research_operation .search_refine {
        margin-right: auto;
    }
}

/*------------------------------------------------
	sp_sort_menu
------------------------------------------------*/
@media screen and ( max-width: 767px ){ /* SP */
    .btn_sp_sort_menu {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 150px; height: 40px;
        border: 1px solid #608ab8;
        border-radius: 5px;
        color: #4d4d4d;
        font-size: 16px;
        text-decoration: none;
    }
    .btn_sp_sort_menu > img {
        margin-right: 5px;
    }
}
@media screen and ( min-width: 768px ){ /* PC */
    .btn_sp_sort_menu { display: none;}
}

/* sp_sort_menu */
.sp_sort_menu { display: none;}

@media screen and ( max-width: 767px ){ /* SP */
    .sp_sort_menu.opened {
        display: block;
    }
    .sp_sort_menu {
        margin: auto;
        background: #fff;
        position: fixed;
        top: 0; bottom: 0; left: 0; right: 0;
        z-index: 10;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }
    .sp_sort_menu_hl {
        margin: 100px auto 20px;
        text-align: center;
    }
    .sp_sort_menu_hl img {
        margin-left: 5px;
    }
    .sp_sort_menu_list {
        display: block;
    }
    .sp_sort_menu_list_item {
        display: flex;
        align-items: center;
        width: 100%;
        margin: 0 !important;
        padding: 10px 40px !important;
        border-bottom: 1px solid #e6e6e6;
    }
    .sp_sort_menu_list_item .title {
        flex-grow: 1;
        margin-right: auto;
        font-weight: bold;
    }
    .sp_sort_menu_btn {
        margin-left: 10px;
		padding: 10px 50px 10px 30px;
        border: 1px solid currentColor;
        background: #fff;
        color: #0077be;
		position: relative;
    }
    .sp_sort_menu_btn.active {
        background: #0077be;
        color: #fff;
    }
    .sp_sort_menu_btn::after {
        display: block; content: '';
        width: 24px; height: 16px;
        margin: auto;
        background: url(../img/ic_sort_nonactive.svg) no-repeat center;
        background-size: contain;
        position: absolute;
        top: 0; bottom: 0; right: 5px;
    }
    .sp_sort_menu_btn.asc::after {
        background-image: url(../img/ic_sort_top.svg);
    }
    .sp_sort_menu_btn.desc::after {
        background-image: url(../img/ic_sort_bottom.svg);
    }
    .sp_sort_menu_close {
        margin: 20px auto;
        text-align: center;
    }
}

/*------------------------------------------------
	disp_result
------------------------------------------------*/
.disp_result {
    flex: 0 0 auto;
    margin-right: 10px;
}
.disp_result_select_wrapper {
    display: inline-block;
    position: relative;
    border: 1px solid #ccc;
    border-radius: 5px;
    background: #fff;
}
.disp_result_select_wrapper::after {
    display: block; content: '';
    width: 0; height: 0;
    border-style: solid;
    border-width: 6.9px 4px 0 4px;
    border-color: #0077be transparent transparent transparent;
    margin: auto;
    position: absolute;
    top: 0; bottom: 0; right: 10px;
    pointer-events: none;
}
.disp_result_select_wrapper select {
    -webkit-appearance: none;
    appearance: none;
    display: inline-block;
    height: calc(40px - 2px);
    padding: 0 30px 0 10px;
    border: none;
    background: none;
}
@supports (-ms-ime-align: auto){ /* edgeの文字ずれ調整 */
	.disp_result_select_wrapper select {
		position: relative;
		top: 0.2em;
	}
}

/*------------------------------------------------
	search_refine
------------------------------------------------*/
.search_refine {
    display: flex;
    align-items: center;
}
.search_refine label {
    flex: 0 0 auto;
    margin-right: 10px;
}
.search_refine .search_column_wrapper {
    flex: 0 1 auto;
    display: inline-block;
    position: relative;
    margin-right: 3px;
    border: 1px solid #ccc;
    border-radius: 5px;
    background: #fff;
}
.search_refine .search_column_wrapper::after {
    display: block; content: '';
    width: 0; height: 0;
    border-style: solid;
    border-width: 6.9px 4px 0 4px;
    border-color: #0077be transparent transparent transparent;
    margin: auto;
    position: absolute;
    top: 0; bottom: 0; right: 10px;
    pointer-events: none;
}
.search_refine .search_column_wrapper select {
    -webkit-appearance: none;
    appearance: none;
    display: inline-block;
    width: 100%;
    height: calc(40px - 2px);
    padding: 0 30px 0 10px;
    border: none;
    background: none;
}
@supports (-ms-ime-align: auto){ /* edgeの文字ずれ調整 */
    .search_refine .search_column_wrapper select {
        position: relative;
        top: 0.2em;
    }
}
.search_refine input {
    flex: 0 0 auto;
    height: 40px;
    padding: 0 10px;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
    vertical-align: middle;
    -webkit-appearance: none;
}
@media screen and ( max-width: 767px ){ /* SP */
    .search_refine {
        display: flex;
        align-items: center;
    }
    .search_refine label {
        flex-shrink: 0;
    }
    .search_refine input {
        flex-shrink: 1;
        width: 100%;
    }
}
@media screen and ( min-width: 768px ){ /* PC */
    .search_refine input {
        width: 300px;
    }
}

/*------------------------------------------------
	research_table
------------------------------------------------*/
.research_table {
    width: 100%;
    font-size: 14px;
}
.research_table td {
    word-break: break-word;
}
@media screen and ( max-width: 767px ){ /* SP */
    .research_table thead { display: none;}
    .research_table tbody { display: block;}
    .research_table {
        display: block;
        padding-top: 10px;
        border-top: 1px solid #ccc;
    }
    .research_table tr {
        display: block;
        padding-bottom: 10px;
        border-bottom: 1px solid #ccc;
        position: relative;
    }
    .research_table tr:not(:last-child) {
        margin-bottom: 10px;
    }
    .research_table td {
        box-sizing: border-box;
        display: block;
        width: 100%;
    }
    .research_table td:nth-child(1){
        /*padding-right: 3.5em;*/
    }
    .research_table td:nth-child(2){
        /*position: absolute;
        top: 0; left: 0;
        text-align: right;*/
    }
    .research_table td:nth-child(3){
        margin: 10px auto;
        font-weight: bold;
    }
    .research_table td:nth-child(4),
    .research_table td:nth-child(5){
        padding: 10px;
        background: #f0f0f0;
    }
    .research_table td:nth-child(6),
    .research_table td:nth-child(7){
        margin: 10px auto;
    }

}
@media screen and ( min-width: 768px ){ /* PC */
    .research_table {
        margin-bottom: 20px;
    }
    .research_table th,
    .research_table td {
        border: 1px solid #ccc;
    }
    .research_table th {
        background: #F1F4F9;
        pointer-events: auto;
        cursor: pointer;
        text-align: left;
    }
    .research_table th:nth-child(1) { width: 8%;}
    .research_table th:nth-child(2) { width: 20%;}
    .research_table th:nth-child(3) { width: 20%;}
    .research_table th:nth-child(4) { width: 20%;}
    .research_table th:nth-child(5) { width: 12%;}
    .research_table th:nth-child(6) { width: 20%;}
    
    .research_table.riyou_kikan th:nth-child(1) { width: 12%;}
    .research_table.riyou_kikan th:nth-child(2) { width: 12%;}
    .research_table.riyou_kikan th:nth-child(3) { width: 38%;}
    .research_table.riyou_kikan th:nth-child(4) { width: 38%;}

    .research_table th > span {
        display: inline-block;
        width: 100%;
        box-sizing: border-box;
        padding: 10px 20px 10px 10px;
        position: relative;
    }
    .research_table th > span::after {
        display: block; content: '';
        width: 24px; height: 16px;
        margin: auto;
        background: url(../img/ic_sort_nonactive.svg) no-repeat center;
        background-size: contain;
        position: absolute;
        top: 0; bottom: 0; right: 5px;
    }
    .research_table .asc > span::after {
        background-image: url(../img/ic_sort_top.svg);
    }
    .research_table .desc > span::after {
        background-image: url(../img/ic_sort_bottom.svg);
    }
    .research_table td {
        padding: 8px;
        word-break: break-word;
    }
}
