@charset "UTF-8";

/*UIタイトル*/
.eki-data-search-dlg .ui-widget-header {
    border:none;
    background:none;
    color: #333333/*{fcHeader}*/;
    font-weight: bold;
}


.eki-data-search-dlg .eki-data-search-dlg-content.ui-dialog-content {
    overflow:hidden;
}
.eki-data-search-dlg .eki-data-search-dlg-wrapper{
    height: 400px;
    box-sizing: border-box;
}
.eki-data-search-dlg .eki-data-search-prefectures {
    overflow-y: scroll;
    height:100%;
    width: 200px;
}
/* .eki-data-search-dlg .eki-data-search-lines {
    overflow-y: scroll;
    height:100%;
    width: 200px;
} */
.eki-data-search-dlg .eki-data-search-stations {
    overflow-y: scroll;
    height:100%;
    width: calc(100% - 200px);
}
.eki-data-search-dlg button.change-prefecture {
    display: none;
}

.eki-data-search-dlg .line-title input {
	margin-left: 0.5rem;
}
.eki-data-search-dlg .line-body > * {
	margin-left:1rem;
}

.eki-data-search-dlg [aria-expanded] {
	cursor: pointer;
}

/* 矢印 */
.eki-data-search-dlg .line-title,
.eki-data-search-dlg .stations-line-prefecture{
    margin-left:5px;
    position:relative;
}
.eki-data-search-dlg .line-title[aria-expanded="false"]:after {
	/*content: '▼'*/
    position:absolute;
    top:40%;
    right:20px;
    content: "";
    width: 5px;
    height: 5px;
    border-right: 2px solid #07507B;
    border-top: 2px solid #07507B;
    display: inline-block;
    transform: rotate(135deg);
}
.eki-data-search-dlg .line-title[aria-expanded="true"]:after {
	/*content: '▲'*/
    position:absolute;
    top:40%;
    right:20px;
    content: "";
    width: 5px;
    height: 5px;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    display: inline-block;
    transform: rotate(315deg)
}
.eki-data-search-dlg .stations-line-prefecture[aria-expanded="false"]:after {
	/*content: '▼'*/
    position:absolute;
    top:40%;
    right:20px;
    content: "";
    width: 5px;
    height: 5px;
    border-right: 2px solid #07507B;
    border-top: 2px solid #07507B;
    display: inline-block;
    transform: rotate(135deg);
}
.eki-data-search-dlg .stations-line-prefecture[aria-expanded="true"]:after {
	/*content: '▲'*/
    position:absolute;
    top:40%;
    right:20px;
    content: "";
    width: 5px;
    height: 5px;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    display: inline-block;
    transform: rotate(315deg)
}

@media (max-width: 991.98px) {
    /* 以下メディアクエリ内は特に適当 */
    .eki-data-search-dlg {
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        /* height: 100% !important; */
    }
    /* .eki-data-search-dlg .eki-data-search-dlg-content.ui-dialog-content {
        height: 100%;
    } */
    /* .eki-data-search-dlg .eki-data-search-dlg-wrapper ul {
        width: 100%;
    } */

    .eki-data-search-dlg button.change-prefecture {
        display: block;
    }
    .eki-data-search-dlg-content .eki-data-search-dlg-wrapper > ul {
        width: 0px;
    }
    .eki-data-search-dlg-content.dlg-mode-prefectures .eki-data-search-prefectures {
        width: 100%;
    }
    /* .eki-data-search-dlg-content.dlg-mode-lines .eki-data-search-lines {
        width: 100%;
    } */
    .eki-data-search-dlg-content.dlg-mode-stations .eki-data-search-stations {
        width: 100%;
    }
}

/* 選択済表示エリアのスタイル */
.eki-data-selected  .selected-lines,
.eki-data-selected  .selected-stations{
    display:flex;
    gap:10px;
    padding:10px 0px;
}


.eki-data-stations-ui .eki-data-selected .selected-lines span,
.eki-data-stations-ui .eki-data-selected .selected-stations span {
    color: #07507B;
    font-size: 12px;
    font-weight: bold;
    padding: 2px 20px;
    border-radius: 20px;
    background-color: #DCEAF0;
}

/* フィールドのajax progress を非表示*/
.eki-data-stations-ui .ajax-progress-throbber{
    display: none;
}

/* Form 入力フィールドの非表示 */
.eki-data-stations-ui.eki-data-stations-ui-hide-all legend,
.eki-data-stations-ui.eki-data-stations-ui-hide-all .fieldset-wrapper,
.eki-data-stations-ui.eki-data-stations-ui-hide-field .fieldset-wrapper {
    height: 0px;
    overflow: hidden;
}

/* spinner */
.eki-data-search-dlg-content .eki-data-search-dlg-wrapper ul li.loading {
	width: 32px;
	height: 32px;
	margin: 10px auto;
	border: 4px #ddd solid;
	border-top: 4px #2e93e6 solid;
	border-radius: 50%;
	animation: sp-anime 0.5s infinite linear;
}
@keyframes sp-anime {
    to {
      transform: rotate(360deg);
    }
  }

/* 都道府県 */
.eki-data-search-dlg .eki-data-search-prefectures li{
    cursor: pointer;
    display: block;
    position: relative;
}
.eki-data-search-dlg .eki-data-search-prefectures li input{
    display:none;
}
.eki-data-search-dlg .eki-data-search-prefectures li label{
    position:relative;
    display:block;
    margin-bottom:0;
    padding:10px;
    border-bottom: 1px dashed #ddd;
}
/* hover */
.eki-data-search-dlg .eki-data-search-prefectures li label:hover{
    background:#d9f1ff;
}
.eki-data-search-dlg .eki-data-search-prefectures li input:checked + label{
    background: #07507B;
    color: #fff;
}
/* 矢印 */
.eki-data-search-dlg .eki-data-search-prefectures li label:after{
    content: "";
    width: 5px;
    height: 5px;
    border-right: 2px solid #07507B;
    border-top: 2px solid #07507B;
    display: inline-block;
    transform: rotate(45deg);
    position:absolute;
    top:40%;
    right:20px;
}
/*選択されたら*/
.eki-data-search-dlg .eki-data-search-prefectures li input:checked + label:after{
    border-color:#fff;
}


.eki-data-search-dlg .line-title[aria-expanded="true"] .stations-line-prefecture{

}

/*路線*/
.eki-data-search-dlg .eki-data-search-stations li.stations-line{
    cursor: pointer;
    display: block;
    position: relative;

}
.eki-data-search-dlg .line-title{
    padding:10px;
    border-bottom: 1px dashed #ddd;
}
/* 路線が選択されたら */


.eki-data-search-dlg .line-title[aria-expanded="true"]{
    background: #07507B;
    color: #fff;
}
.eki-data-search-dlg .line-title[aria-expanded="false"]:hover{

    background:#d9f1ff;

}

.eki-data-search-dlg .eki-data-search-stations label{
    margin-right:25px;
    margin-bottom:0;
}
.eki-data-search-dlg [aria-expanded]{
    display:flex;
}
/* 全選択を右寄せにする */
.eki-data-search-dlg [aria-expanded] input{
    margin-left:auto;
    margin-right:5px;
}
.eki-data-search-dlg [aria-expanded] input:checked + label{
    /* 全選択時のスタイル */
} 




.eki-data-search-dlg .stations-line-prefecture[aria-expanded="false"]{
    background: #c5e5f8;
    color: #333;
}
.eki-data-search-dlg .stations-line-prefecture[aria-expanded="true"]{
    background: #139eee;
    color: #fff;
}

.eki-data-search-dlg .line-body .stations-line-prefecture{
    padding-left:25px;
    padding-right: 25px;
}


/* 各線 */
.line-body div.stations-line-prefecture{
    padding-top:10px;
    padding-bottom:10px;
    padding-left:25px;
    font-weight: bold;
}

.line-body ul.stations-line-prefecture{
    display: flex;
    flex-wrap: wrap;
}

/* 駅 */
.line-body ul.stations-line-prefecture li{
    width: 50%;
    padding-top:10px;
    padding-bottom:10px;
    border-bottom: 1px dashed #ddd;
}
.line-body ul.stations-line-prefecture li *{
    vertical-align: middle;
    margin-left:5px;
}
.line-body ul.stations-line-prefecture li label{
    width:calc( 100% - 50px );
}
/* ラベル */
.eki-data-stations-ui legend .fieldset-legend{
    font-size: 14px;
    font-weight: 700;
    color: #000;
}
/*  路線・駅から探すボタン */
.eki-data-select-btn{
    display: block;
    padding: 0px 20px;
    background: #3877ad;
    border:solid 1px #3877ad;
    border-radius: 5px;
    height: 40px;
    line-height: 40px;
    color: #fff;
    position: relative;
}

.ui-widget-header {
    border:none;
    background:none;
    color: #333333;
    font-weight: bold;
}
/* 決定 */
.ui-dialog .ui-dialog-buttonpane button{
    display: block;
    padding: 0px 20px;
    background: #3877ad;
    border: solid 1px #3877ad;
    border-radius: 5px;
    height: 40px;
    line-height: 40px;
    color: #fff;
    position: relative;
}