/**
 * PC用のCSS
 */

/* === === === リセットスタイル === === === */
.bl_npSuggestContainer {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-size: 14px;
    color: #545454;
    line-height: 1;
}

.bl_npSuggestContainer * {
    word-break: break-all;
    /* 文字の改行に関する禁則処理を解除してどこでも開業できるようにする */
    word-wrap: break-word;
    /* 必要に応じて単語の途中で改行 */
    -ms-overflow-style: none;
    /* IE でスクロールバーを表示しない */
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-family: sans-serif;
    vertical-align: baseline;
    background: transparent;
}

.bl_npSuggestContainer *::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.bl_npSuggestContainer a {
    color: #545454;
    text-decoration: none;
}


/* === === === モジュール === === === */

/* --- --- --- コンテナ --- --- --- */
.bl_npSuggestContainer {
    position: absolute;
    z-index: 1000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    /* 商品詳細を下にしたい場合は column, 左にしたい場合は row-reverse */
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 600px;
    margin-top: 1px;
}

.bl_npSuggestContainer .bl_npSuggestContainer_searchboxComponent {
    width: 50%;
    margin: 0 1px;
    background-color: #fff;
}

.bl_npSuggestContainer .bl_npSuggestContainer_eventComponent {
    width: 50%;
    background-color: #fff;
}

/* --- --- --- サジェスト --- ---- --- */
.bl_npSuggestContainer .bl_npSuggestKeywordList {
    border: 1px solid #d4d9dc;
}

.bl_npSuggestContainer .bl_npSuggestKeywordList_header {
    font-size: 0.75em;
    padding: .5em;
    background-color: #d4d9dc;
    font-weight: bold;
}

.bl_npSuggestContainer .bl_npSuggestKeywordList_header::after {
    content: 'サジェスト';
}

.bl_npSuggestContainer .bl_npSuggestKeywordList_body {
    /* height: calc(2em * 2); */
    padding: 0 .3em;
    overflow-y: auto;
}

.bl_npSuggestContainer .bl_npSuggestKeywordList_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    border-bottom: 1px solid #d4d9dc;
    cursor: pointer;
}

.bl_npSuggestContainer .bl_npSuggestKeywordList_item:last-child {
    border-bottom: 0;
}

.bl_npSuggestContainer .bl_npSuggestKeywordList_item:focus,
.bl_npSuggestContainer .bl_npSuggestKeywordList_item:hover {
    background-color: #f5f5f5;
}

.bl_npSuggestContainer .bl_npSuggestKeywordList_item>* {
    margin-right: .5em;
}

.bl_npSuggestContainer .bl_npSuggestKeywordList_item>*:first-child {
    margin-left: .5em;
}

.bl_npSuggestContainer .bl_npSuggestKeywordList_label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding: .75em 0;
}

.bl_npSuggestContainer .bl_npSuggestKeywordList_keyword {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    white-space: nowrap;
    overflow-x: auto;
    padding: .75em 0;
}

/* --- --- --- サーチコンポーネント --- ---- --- */
.bl_npSuggestContainer .bl_npSuggestSearchKeywordList {
    border: 1px solid #d4d9dc;
}

.bl_npSuggestContainer .bl_npSuggestSearchKeywordList_header {
    font-size: 0.75em;
    padding: .5em;
    background-color: #d4d9dc;
    font-weight: bold;
}

.bl_npSuggestContainer .bl_npSuggestSearchKeywordList_header::after {
    content: 'キーワード';
}

.bl_npSuggestContainer .bl_npSuggestSearchKeywordList_body {
    /* height: calc(2em * 2); */
    padding: 0 .3em;
    overflow-y: auto;
}

.bl_npSuggestContainer .bl_npSuggestSearchKeywordList_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    border-bottom: 1px solid #d4d9dc;
    cursor: pointer;
}

.bl_npSuggestContainer .bl_npSuggestSearchKeywordList_item:last-child {
    border-bottom: 0;
}

.bl_npSuggestContainer .bl_npSuggestSearchKeywordList_item:focus,
.bl_npSuggestContainer .bl_npSuggestSearchKeywordList_item:hover {
    background-color: #f5f5f5;
}

.bl_npSuggestContainer .bl_npSuggestSearchKeywordList_item>* {
    margin-right: .5em;
}

.bl_npSuggestContainer .bl_npSuggestSearchKeywordList_item>*:first-child {
    margin-left: .5em;
}

.bl_npSuggestContainer .bl_npSuggestSearchKeywordList_label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding: .75em 0;
}

.bl_npSuggestContainer .bl_npSuggestSearchKeywordList_keyword {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    white-space: nowrap;
    overflow-x: auto;
    padding: .75em 0;
}

/* --- --- --- 検索履歴 --- ---- --- */
.bl_npSuggestContainer .bl_npSuggestHistoryList {
    border: 1px solid #d4d9dc;
}

.bl_npSuggestContainer .bl_npSuggestHistoryList_header {
    font-size: 0.75em;
    padding: .5em;
    background-color: #d4d9dc;
    font-weight: bold;
}

.bl_npSuggestContainer .bl_npSuggestHistoryList_header::after {
    content: '検索履歴'
}

.bl_npSuggestContainer .bl_npSuggestHistoryList_body {
    /* height: calc(2em * 2); */
    padding: 0 .3em;
    overflow-y: auto;
}

.bl_npSuggestContainer .bl_npSuggestHistoryList_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    border-bottom: 1px solid #d4d9dc;
    cursor: pointer;
}

.bl_npSuggestContainer .bl_npSuggestHistoryList_item:last-child {
    border-bottom: 0;
}

.bl_npSuggestContainer .bl_npSuggestHistoryList_item:focus,
.bl_npSuggestContainer .bl_npSuggestHistoryList_item:hover {
    background-color: #f5f5f5;
}

.bl_npSuggestContainer .bl_npSuggestHistoryList_item>* {
    margin-right: .5em;
}

.bl_npSuggestContainer .bl_npSuggestHistoryList_item>*:first-child {
    margin-left: .5em;
}

.bl_npSuggestContainer .bl_npSuggestHistoryList_label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding: .75em 0;
}

.bl_npSuggestContainer .bl_npSuggestHistoryList_keyword {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    white-space: nowrap;
    overflow-x: auto;
    padding: .75em 0;
}

/* --- --- --- ランキング --- --- --- */
.bl_npSuggestContainer .bl_npSuggestRankingList {
    border: 1px solid #d4d9dc;
    counter-reset: bl_npSuggestRankingList 0;
    /* 変数名と初期値を定義 */
}

.bl_npSuggestContainer .bl_npSuggestRankingList_header {
    font-size: 0.75em;
    padding: .5em;
    background-color: #d4d9dc;
    font-weight: bold;
}

.bl_npSuggestContainer .bl_npSuggestRankingList_header::after {
    content: 'ランキング';
}

.bl_npSuggestContainer .bl_npSuggestRankingList_body {
    /* height: calc(2em * 3); */
    padding: 0 .3em;
    overflow-y: auto;
}

.bl_npSuggestContainer .bl_npSuggestRankingList_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    border-bottom: 1px solid #d4d9dc;
    cursor: pointer;
    counter-increment: bl_npSuggestRankingList;
    /* カウンタをインクリメント */
}

.bl_npSuggestContainer .bl_npSuggestRankingList_item:last-child {
    border-bottom: 0;
}

.bl_npSuggestContainer .bl_npSuggestRankingList_item>* {
    margin-right: .5em;
}

.bl_npSuggestContainer .bl_npSuggestRankingList_item>*:first-child {
    margin-left: .5em;
}

.bl_npSuggestContainer .bl_npSuggestRankingList_item:focus,
.bl_npSuggestContainer .bl_npSuggestRankingList_item:hover {
    background-color: #f5f5f5;
}

.bl_npSuggestContainer .bl_npSuggestRankingList_label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding: .75em 0;
}

.bl_npSuggestContainer .bl_npSuggestRankingList_keyword {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    white-space: nowrap;
    overflow-x: auto;
    padding: .75em 0;
}

.bl_npSuggestContainer .bl_npSuggestRankingList_icon {
    font-weight: bold;
    color: #a9a9a9;
}

.bl_npSuggestContainer .bl_npSuggestRankingList_icon::before {
    content: counter(bl_npSuggestRankingList) '.';
}


/* --- --- --- サジェスト商品詳細(カード) --- --- --- */
.bl_npSuggestContainer .bl_npSuggestItemList {
    border: 1px solid #d4d9dc;
}

.bl_npSuggestContainer .bl_npSuggestItemList_header {
    font-size: 0.75em;
    padding: .5em;
    background-color: #d4d9dc;
}

.bl_npSuggestContainer .bl_npSuggestItemList_header>span {
    margin: 0 .3em;
}

.bl_npSuggestContainer .bl_npSuggestItemList_body {
    padding: .5em 0 .5em .5em;
}

.bl_npSuggestContainer .bl_npSuggestItemList_body::after {
    /* スクロールの端はpaddingが効かないので、padding分の疑似要素を入れる */
    content: '';
    padding: .25em;
}

.bl_npSuggestContainer .bl_npSuggestItemList_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    overflow-x: auto;
}

.bl_npSuggestContainer .bl_npSuggestItemList_item {
    display: block;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 7em;
            flex: 0 0 7em;
    margin: 0 .5em 0 0;
    -webkit-box-shadow: 1px 1px 2px 1px #d4d9dc;
            box-shadow: 1px 1px 2px 1px #d4d9dc;
}

.bl_npSuggestContainer .bl_npSuggestItemList_item:last-child {
    margin: 0;
}

.bl_npSuggestContainer .bl_npSuggestItemList_item:focus,
.bl_npSuggestContainer .bl_npSuggestItemList_item:hover {
    -webkit-box-shadow: 2px 2px 3px 2px #d4d9dc;
            box-shadow: 2px 2px 3px 2px #d4d9dc;
}

.bl_npSuggestContainer .bl_npSuggestItemList_body::-webkit-scrollbar {
    width: 0;
    height: .3em;
}

.bl_npSuggestContainer .bl_npSuggestItemList_body::-webkit-scrollbar-track {
    border-radius: .5em;
    -webkit-box-shadow: inset 0 0 2px #d4d9dc;
            box-shadow: inset 0 0 2px #d4d9dc;
}

.bl_npSuggestContainer .bl_npSuggestItemList_body::-webkit-scrollbar-thumb {
    background: #666;
    border-radius: .5em;
    -webkit-box-shadow: none;
            box-shadow: none;
}

/* --- --- --- サジェスト商品詳細(メディア) --- --- --- */
.bl_npSuggestContainer .bl_npSuggestItemList__media .bl_npSuggestItemList_body {
    display: block;
    padding: .5em .5em 0 .5em;
    overflow-y: auto;
    max-height: 400px;
}

.bl_npSuggestContainer .bl_npSuggestItemList__media .bl_npSuggestItemList_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 6em;
    margin: 0 0 .5em 0;
}

.bl_npSuggestContainer .bl_npSuggestItemList_item:last-child {
    margin: 0;
}

.bl_npSuggestContainer .bl_npSuggestItemList__media .bl_npSuggestItemList_body::-webkit-scrollbar {
    width: .3em;
    height: 0;
}

/* --- --- --- メディア --- --- --- */
.bl_npSuggestContainer .bl_npSuggestMedia {
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 6em;
}

.bl_npSuggestContainer .bl_npSuggestMedia_imgWrapper {
    position: relative;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 35%;
            flex: 0 1 35%;
    overflow-y: hidden;
}

.bl_npSuggestContainer .bl_npSuggestMedia_imgWrapper>img {
    position: absolute;
    max-width: 100%;
    max-height: 100%;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
            transform: translateY(-50%) translateX(-50%);
}

.bl_npSuggestContainer .bl_npSuggestMedia_body {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: .5em;
}

.bl_npSuggestContainer .bl_npSuggestMedia_ttl {
    max-height: 3em;
    overflow-y: auto;
    margin-bottom: 1em;
}

.bl_npSuggestContainer .bl_npSuggestMedia_price {
    font-size: .8em;
}

/* --- --- --- カード --- --- --- */
.bl_npSuggestContainer .bl_npSuggestCard {
    display: block;
    background-color: #fff;
}

.bl_npSuggestContainer .bl_npSuggestCard_imgWrapper {
    position: relative;
    padding-top: 75%;
    /* widthに対しての割合 */
    overflow: hidden;
}

.bl_npSuggestContainer .bl_npSuggestCard_imgWrapper>img {
    position: absolute;
    max-width: 100%;
    max-height: 100%;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
            transform: translateY(-50%) translateX(-50%);
}

.bl_npSuggestContainer .bl_npSuggestCard_body {
    padding: .5em;
}

.bl_npSuggestContainer .bl_npSuggestCard_ttl {
    font-size: .8em;
    max-height: 3em;
    overflow-y: auto;
    margin-bottom: 1em;
}

.bl_npSuggestContainer .bl_npSuggestCard_price {
    font-size: .6em;
}

/**
 * モバイル用のCSS
 */

/* === === === リセットスタイル === === === */
.bl_npSuggestContainerMobile {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 14px;
    color: #545454;
    line-height: 1;
}

.bl_npSuggestContainerMobile * {
    word-break: break-all;
    /* 文字の改行に関する禁則処理を解除してどこでも開業できるようにする */
    word-wrap: break-word;
    /* 必要に応じて単語の途中で改行 */
    -ms-overflow-style: none;
    /* IE でスクロールバーを表示しない */
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-family: sans-serif;
    vertical-align: baseline;
    background: transparent;
}

.bl_npSuggestContainerMobile *::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.bl_npSuggestContainerMobile a {
    color: #545454;
    text-decoration: none;
}

/* === === === モジュール === === === */
/* --- --- --- コンテナ --- --- --- */
.bl_npSuggestContainerMobile {
    position: absolute;
    z-index: 1000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 100%;
    margin-top: 1px;
}

.bl_npSuggestContainerMobile .bl_npSuggestContainerMobile_searchboxComponent {
    width: 100%;
    margin: 0;
    background-color: #fff;
}

.bl_npSuggestContainerMobile .bl_npSuggestContainerMobile_eventComponent {
    width: 100%;
    background-color: #fff;
}

/* --- --- --- サジェスト --- ---- --- */
.bl_npSuggestContainerMobile .bl_npSuggestKeywordList {
    border: 0;
    margin-bottom: 1px;
}

.bl_npSuggestContainerMobile .bl_npSuggestKeywordList_header {
    display: none;
}

.bl_npSuggestContainerMobile .bl_npSuggestKeywordList_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding: .5em;
    overflow-y: auto;
}

.bl_npSuggestContainerMobile .bl_npSuggestKeywordList_body::after {
    content: '';
    padding: .25em;
}

.bl_npSuggestContainerMobile .bl_npSuggestKeywordList_body::-webkit-scrollbar {
    width: 0;
    height: .3em;
}

.bl_npSuggestContainerMobile .bl_npSuggestKeywordList_body::-webkit-scrollbar-track {
    border-radius: .5em;
    -webkit-box-shadow: inset 0 0 2px #d4d9dc;
    box-shadow: inset 0 0 2px #d4d9dc;
}

.bl_npSuggestContainerMobile .bl_npSuggestKeywordList_body::-webkit-scrollbar-thumb {
    background: #666;
    border-radius: .5em;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.bl_npSuggestContainerMobile .bl_npSuggestKeywordList_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    cursor: pointer;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    border-radius: .25em;
    margin-right: .5em;
    border: 1px solid #d4d9dc;
    background-color: #fff;
}

.bl_npSuggestContainerMobile .bl_npSuggestKeywordList_item:last-child {
    border-bottom: 1px solid #d4d9dc;
    margin-right: 0;
}

.bl_npSuggestContainerMobile .bl_npSuggestKeywordList_item:focus,
.bl_npSuggestContainerMobile .bl_npSuggestKeywordList_item:hover {
    color: #fff;
    border-color: #009fcc;
    background-color: #009fcc;
}

.bl_npSuggestContainerMobile .bl_npSuggestKeywordList_item .el_npSuggestAnnotationLabel {
    display: none;
}

.bl_npSuggestContainerMobile .bl_npSuggestKeywordList_item>* {
    margin-right: .5em;
}

.bl_npSuggestContainerMobile .bl_npSuggestKeywordList_item>*:first-child {
    margin-left: .5em;
}

.bl_npSuggestContainerMobile .bl_npSuggestKeywordList_label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: .75em 0;
}

.bl_npSuggestContainerMobile .bl_npSuggestKeywordList_keyword {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    white-space: nowrap;
    overflow-x: auto;
    padding: .75em 0;
}

/* --- --- --- サーチコンポーネント --- ---- --- */
.bl_npSuggestContainerMobile .bl_npSuggestSearchKeywordList {
    border: 0;
    margin-bottom: 1px;
}

.bl_npSuggestContainerMobile .bl_npSuggestSearchKeywordList_header {
    display: none;
}

.bl_npSuggestContainerMobile .bl_npSuggestContainerMobile .bl_npSuggestSearchKeywordList_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding: .5em;
    overflow-y: auto;
}

.bl_npSuggestSearchKeywordList_body::after {
    content: '';
    padding: .25em;
}

.bl_npSuggestContainerMobile .bl_npSuggestSearchKeywordList_body::-webkit-scrollbar {
    width: 0;
    height: .3em;
}

.bl_npSuggestContainerMobile .bl_npSuggestSearchKeywordList_body::-webkit-scrollbar-track {
    border-radius: .5em;
    -webkit-box-shadow: inset 0 0 2px #d4d9dc;
    box-shadow: inset 0 0 2px #d4d9dc;
}

.bl_npSuggestContainerMobile .bl_npSuggestContainerMobile .bl_npSuggestSearchKeywordList_body::-webkit-scrollbar-thumb {
    background: #666;
    border-radius: .5em;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.bl_npSuggestSearchKeywordList_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    cursor: pointer;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    border-radius: .25em;
    margin-right: .5em;
    border: 1px solid #d4d9dc;
    background-color: #fff;
}

.bl_npSuggestContainerMobile .bl_npSuggestSearchKeywordList_item:last-child {
    border-bottom: 1px solid #d4d9dc;
    margin-right: 0;
}

.bl_npSuggestContainerMobile .bl_npSuggestSearchKeywordList_item:focus,
.bl_npSuggestContainerMobile .bl_npSuggestSearchKeywordList_item:hover {
    color: #fff;
    border-color: #009fcc;
    background-color: #009fcc;
}

.bl_npSuggestContainerMobile .bl_npSuggestContainerMobile .bl_npSuggestSearchKeywordList_item .el_npSuggestAnnotationLabel {
    display: none;
}

.bl_npSuggestSearchKeywordList_item>* {
    margin-right: .5em;
}

.bl_npSuggestContainerMobile .bl_npSuggestSearchKeywordList_item>*:first-child {
    margin-left: .5em;
}

.bl_npSuggestContainerMobile .bl_npSuggestSearchKeywordList_label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: .75em 0;
}

.bl_npSuggestContainerMobile .bl_npSuggestSearchKeywordList_keyword {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    white-space: nowrap;
    overflow-x: auto;
    padding: .75em 0;
}

/* --- --- --- 検索履歴 --- ---- --- */
.bl_npSuggestContainerMobile .bl_npSuggestHistoryList {
    border: 0;
    margin-bottom: 1px;
}

.bl_npSuggestContainerMobile .bl_npSuggestHistoryList_header {
    display: none;
}

.bl_npSuggestContainerMobile .bl_npSuggestHistoryList_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding: .5em;
    overflow-y: auto;
}

.bl_npSuggestContainerMobile .bl_npSuggestHistoryList_body::after {
    content: '';
    padding: .25em;
}

.bl_npSuggestContainerMobile .bl_npSuggestHistoryList_body::-webkit-scrollbar {
    width: 0;
    height: .3em;
}

.bl_npSuggestContainerMobile .bl_npSuggestHistoryList_body::-webkit-scrollbar-track {
    border-radius: .5em;
    -webkit-box-shadow: inset 0 0 2px #d4d9dc;
    box-shadow: inset 0 0 2px #d4d9dc;
}

.bl_npSuggestContainerMobile .bl_npSuggestHistoryList_body::-webkit-scrollbar-thumb {
    background: #666;
    border-radius: .5em;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.bl_npSuggestContainerMobile .bl_npSuggestHistoryList_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    cursor: pointer;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    border-radius: .25em;
    margin-right: .5em;
    border: 1px solid #d4d9dc;
    background-color: #fff;
}

.bl_npSuggestContainerMobile .bl_npSuggestHistoryList_item:last-child {
    border-bottom: 1px solid #d4d9dc;
    margin-right: 0;
}

.bl_npSuggestContainerMobile .bl_npSuggestHistoryList_item:focus,
.bl_npSuggestContainerMobile .bl_npSuggestHistoryList_item:hover {
    color: #fff;
    border-color: #009fcc;
    background-color: #009fcc;
}

.bl_npSuggestContainerMobile .bl_npSuggestHistoryList_item .el_npSuggestAnnotationLabel {
    display: none;
}

.bl_npSuggestContainerMobile .bl_npSuggestHistoryList_item>* {
    margin-right: .5em;
}

.bl_npSuggestContainerMobile .bl_npSuggestHistoryList_item>*:first-child {
    margin-left: .5em;
}

.bl_npSuggestContainerMobile .bl_npSuggestHistoryList_label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: .75em 0;
}

.bl_npSuggestContainerMobile .bl_npSuggestHistoryList_keyword {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    white-space: nowrap;
    overflow-x: auto;
    padding: .75em;
}

/* --- --- --- ランキング --- --- --- */
.bl_npSuggestContainerMobile .bl_npSuggestRankingList {
    border: 0;
    margin-bottom: 1px;
    counter-reset: bl_npSuggestRankingList 0;
    /* 変数名と初期値を定義 */
}

.bl_npSuggestContainerMobile .bl_npSuggestRankingList_header {
    display: none;
}

.bl_npSuggestContainerMobile .bl_npSuggestRankingList_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding: .5em;
    overflow-y: auto;
}

.bl_npSuggestContainerMobile .bl_npSuggestRankingList_body::after {
    content: '';
    padding: .25em;
}

.bl_npSuggestContainerMobile .bl_npSuggestRankingList_body::-webkit-scrollbar {
    width: 0;
    height: .3em;
}

.bl_npSuggestContainerMobile .bl_npSuggestRankingList_body::-webkit-scrollbar-track {
    border-radius: .5em;
    -webkit-box-shadow: inset 0 0 2px #d4d9dc;
    box-shadow: inset 0 0 2px #d4d9dc;
}

.bl_npSuggestContainerMobile .bl_npSuggestRankingList_body::-webkit-scrollbar-thumb {
    background: #666;
    border-radius: .5em;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.bl_npSuggestContainerMobile .bl_npSuggestRankingList_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    cursor: pointer;
    counter-increment: bl_npSuggestRankingList;
    /* カウンタをインクリメント */
    -ms-flex-negative: 0;
    flex-shrink: 0;
    border-radius: .25em;
    margin-right: .5em;
    border: 1px solid #d4d9dc;
    background-color: #fff;
}

.bl_npSuggestContainerMobile .bl_npSuggestRankingList_item:last-child {
    margin-right: 0;
    border-bottom: 0;
}

.bl_npSuggestContainerMobile .bl_npSuggestRankingList_item>* {
    margin-right: .5em;
}

.bl_npSuggestContainerMobile .bl_npSuggestRankingList_item>*:first-child {
    margin-left: .5em;
}

.bl_npSuggestContainerMobile .bl_npSuggestRankingList_item:focus,
.bl_npSuggestContainerMobile .bl_npSuggestRankingList_item:hover {
    color: #fff;
    border-color: #009fcc;
    background-color: #009fcc;
}

.bl_npSuggestContainerMobile .bl_npSuggestRankingList_label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: .75em 0;
}

.bl_npSuggestContainerMobile .bl_npSuggestRankingList_keyword {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    white-space: nowrap;
    overflow-x: auto;
    padding: .75em;
}

.bl_npSuggestContainerMobile .bl_npSuggestRankingList_icon {
    font-weight: bold;
    color: #a9a9a9;
}

.bl_npSuggestContainerMobile .bl_npSuggestRankingList_icon::before {
    content: counter(bl_npSuggestRankingList) '.';
}

/* --- --- --- サジェスト商品詳細(カード) --- --- --- */
.bl_npSuggestContainerMobile .bl_npSuggestItemList {
    border: 1px solid #d4d9dc;
}

.bl_npSuggestContainerMobile .bl_npSuggestItemList_header {
    font-size: 0.75em;
    padding: .5em;
    background-color: #d4d9dc;
}

.bl_npSuggestContainerMobile .bl_npSuggestItemList_header>span {
    margin: 0 .3em;
}

.bl_npSuggestContainerMobile .bl_npSuggestItemList_body {
    padding: .5em 0 .5em .5em;
}

.bl_npSuggestContainerMobile .bl_npSuggestItemList_body::after {
    /* スクロールの端はpaddingが効かないので、padding分の疑似要素を入れる */
    content: '';
    padding: .25em;
}

.bl_npSuggestContainerMobile .bl_npSuggestItemList_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    overflow-x: auto;
}

.bl_npSuggestContainerMobile .bl_npSuggestItemList_item {
    display: block;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 7em;
    flex: 0 0 7em;
    margin: 0 .5em 0 0;
    -webkit-box-shadow: 1px 1px 2px 1px #d4d9dc;
    box-shadow: 1px 1px 2px 1px #d4d9dc;
}

.bl_npSuggestContainerMobile .bl_npSuggestItemList_item:last-child {
    margin: 0;
}

.bl_npSuggestContainerMobile .bl_npSuggestItemList_item:focus,
.bl_npSuggestContainerMobile .bl_npSuggestItemList_item:hover {
    -webkit-box-shadow: 2px 2px 3px 2px #d4d9dc;
    box-shadow: 2px 2px 3px 2px #d4d9dc;
}

.bl_npSuggestContainerMobile .bl_npSuggestItemList_body::-webkit-scrollbar {
    width: 0;
    height: .3em;
}

.bl_npSuggestContainerMobile .bl_npSuggestItemList_body::-webkit-scrollbar-track {
    border-radius: .5em;
    -webkit-box-shadow: inset 0 0 2px #d4d9dc;
    box-shadow: inset 0 0 2px #d4d9dc;
}

.bl_npSuggestContainerMobile .bl_npSuggestItemList_body::-webkit-scrollbar-thumb {
    background: #666;
    border-radius: .5em;
    -webkit-box-shadow: none;
    box-shadow: none;
}

/* --- --- --- サジェスト商品詳細(メディア) --- --- --- */
.bl_npSuggestContainerMobile .bl_npSuggestItemList__media .bl_npSuggestItemList_body {
    display: block;
    padding: .5em .5em 0 .5em;
    overflow-y: auto;
    max-height: 400px;
}

.bl_npSuggestContainerMobile .bl_npSuggestItemList__media .bl_npSuggestItemList_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 6em;
    margin: 0 0 .5em 0;
}

.bl_npSuggestContainerMobile .bl_npSuggestItemList_item:last-child {
    margin: 0;
}

.bl_npSuggestContainerMobile .bl_npSuggestItemList__media .bl_npSuggestItemList_body::-webkit-scrollbar {
    width: .3em;
    height: 0;
}

/* --- --- --- メディア --- --- --- */
.bl_npSuggestContainerMobile .bl_npSuggestMedia {
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 6em;
}

.bl_npSuggestContainerMobile .bl_npSuggestMedia_imgWrapper {
    position: relative;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 35%;
    flex: 0 1 35%;
    overflow-y: hidden;
}

.bl_npSuggestContainerMobile .bl_npSuggestMedia_imgWrapper>img {
    position: absolute;
    max-width: 100%;
    max-height: 100%;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
}

.bl_npSuggestContainerMobile .bl_npSuggestMedia_body {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: .5em;
}

.bl_npSuggestContainerMobile .bl_npSuggestMedia_ttl {
    max-height: 3em;
    overflow-y: auto;
    margin-bottom: 1em;
}

.bl_npSuggestContainerMobile .bl_npSuggestMedia_price {
    font-size: .8em;
}

/* --- --- --- カード --- --- --- */
.bl_npSuggestContainerMobile .bl_npSuggestCard {
    display: block;
    background-color: #fff;
}

.bl_npSuggestContainerMobile .bl_npSuggestCard_imgWrapper {
    position: relative;
    padding-top: 75%;
    /* widthに対しての割合 */
    overflow: hidden;
}

.bl_npSuggestContainerMobile .bl_npSuggestCard_imgWrapper>img {
    position: absolute;
    max-width: 100%;
    max-height: 100%;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
}

.bl_npSuggestContainerMobile .bl_npSuggestCard_body {
    padding: .5em;
}

.bl_npSuggestContainerMobile .bl_npSuggestCard_ttl {
    font-size: .8em;
    max-height: 3em;
    overflow-y: auto;
    margin-bottom: 1em;
}

.bl_npSuggestContainerMobile .bl_npSuggestCard_price {
    font-size: .6em;
}
