@charset "UTF-8";

/* ======================================== */
/* 夜遊びガイド お店ページ */
/* ======================================== */
.shop_info {
    text-align: left;
}

/* --------------------------------------- */
/* 共通 */
/* --------------------------------------- */
/* 見出し */
.shop_info .hl_sub {
    margin: 0;
    padding: 8px 12px;
    border: none;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset;
}

.shop_info .arrow_icon {
    position: relative;
    display: block;
    font-size: 14px;
    padding: 8px 28px 8px 10px;
}

.shop_info .arrow_icon::after {
    right: 8px;
    opacity: 0.8;
}

/* 戻る */
.shop_info .arrow_icon.back {
    text-align: center;
    padding: 8px 10px;
}

.shop_info .arrow_icon.back::after {
    right: auto;
    left: 8px;
    content: '\e902';
}

/* メニューリスト */
.shop_info .shop_menu .arrow_icon {
    min-height: 42px;
    font-size: 16px;
    font-weight: bold;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    vertical-align: middle;
}

/* もっと見る */
.shop_info .read_more.arrow_icon {
    font-size: 14px;
    font-weight: bold;
}

/* flex */
.fl_base {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-content: center;
    align-content: center;
    -webkit-align-items: center;
    align-items: center;
}

.fl_inner {
    flex: 1 0 auto;
    align-self: auto;
}

/* 枠 */
.shop_info .frame_content {
    padding: 0 10px;
}

/* ボタン */
.btn {
    display: block;
    text-align: center;
    border-radius: 4px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.btn:active {
    -webkit-transform: translate3d(0, 3px, 0);
    transform: translate3d(0, 3px, 0);
}

/* 矢印リンク */
.shop_info .arrow_icon {
    color: inherit;
}

/* 境界線 */
.shop_info .boxShadow {
    border-bottom: 1px solid #a0a0a0;
}

.shop_info .box_dx-banner,
.shop_info .read_more.arrow_icon,
.shop_info .arrow_icon.back {
    border-top: 1px solid #a0a0a0;
}

.shop_info .clist_general > .elm {
    border-color: #a0a0a0;
}

/* 中央寄せ */
.center {
    text-align: center;
    margin-right: auto;
    margin-left: auto;
}

/* 最大幅 */
.mw480 {
    max-width: 480px;
}

/* --------------------------------------- */
/* 基本情報 */
/* --------------------------------------- */
.shop_basic-info {
    position: relative;
    width: 100%;
    max-width: 360px;
    font-size: 14px;
    text-align: center;
    margin: auto;
}

/* 店名 */
.shop_info .head_menu {
    margin-bottom: 6px;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.4);
}

.shop_info .hl_shopname {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    padding: 4px;
}

.head_menu.fl_base {
    padding: 0;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.head_menu.fl_base .fl_inner.box_btn {
    width: 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-flex: 0 0 40px;
    -ms-flex: 0 0 40px;
    flex: 0 0 40px;
}

.head_menu.fl_base .fl_inner.box_name {
    width: calc(100% - 60px);
    padding: 4px 40px 4px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.head_menu.fl_base .fl_inner.box_name:first-child:nth-last-child(1) {
    padding-right: 4px;
}

/* ヘッダ固定 */
.fix_top {
    position: fixed;
    top: 0;
    z-index: 1000;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/* 店名リンク */
.shop_info .link_shop {
    display: block;
    color: inherit;
}

/* お店メニューボタン */
.head_menu .btn_head {
    display: block;
    width: 40px;
    height: 40px;
    color: inherit;
    text-align: center;
}

.head_menu .btn_head .yoasobicon_menu {
    display: inline-block;
    width: 1em;
    height: 1em;
    font-size: 18px;
    margin-top: 6px;
    margin-bottom: 0;
}

/* お店メニューボタン：テキスト */
.head_menu .btn_head .txt {
    font-size: 11px;
    line-height: 1em;
    margin-top: -3px;
}

/* 業種とエリア */
.shop_basic-info .shop_type {
    margin: 6px auto;
}

/* --------------------------------------- */
/* ロゴ枠 */
.shop_info .frame_logo {
    position: relative;
    width: 100%;
    max-width: 320px;
    margin: auto;
    padding: 0 10px;
    box-sizing: border-box;
}

.frame_logo .img_logo {
    max-width: 100%;
}

/* --------------------------------------- */
/* 矢印 */
.frame_logo .btn_next,
.frame_logo .btn_prev {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 10;
    width: 50px;
    height: 50px;
    font-size: 14px;
    line-height: 50px;
    margin: auto;
    box-sizing: border-box;
    cursor: pointer;

    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}

.frame_logo .btn_next {
    right: -30px;
}

.frame_logo .btn_prev {
    left: -30px;
}

@media screen and (max-width: 320px) {
    .frame_logo .btn_next {
        right: -14px;
    }

    .frame_logo .btn_prev {
        left: -14px;
    }
}

/* その他案内事項 */
.more_info {
    margin: 8px auto;
    padding: 0 6px;
    vertical-align: top;
}

/* 登録系 */
.shop_info .box_register {
    margin: 8px auto;
}

.shop_info .box_register .btn {
    display: inline-block;
    width: 140px;
    height: 24px;
    font-weight: bold;
    line-height: 24px;
    margin: 0 1px;
    padding: 0 14px;
    border-width: 1px;
    border-style: solid;
    border-radius: 3px;
    box-shadow: none;
}

/* --------------------------------------- */
/* ボタン群 */
/* --------------------------------------- */
.group_btns {
    max-width: 360px;
    padding-bottom: 10px;
}

.group_btns .fl_base {
    margin-bottom: 10px;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    justify-content: center;
}

.group_btns .fl_inner:nth-child(2):nth-last-child(2),
.group_btns .fl_inner:last-child:nth-child(3) {
    width: 50px;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
}

.group_btns .fl_inner:nth-child(2):last-child {
    width: 100px;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
}

.group_btns .fl_inner.tel {
    width: 60%;
    padding-right: 2px;
}

.group_btns .fl_inner:nth-child(2):nth-last-child(2) {
    padding-right: 2px;
    padding-left: 2px;
}

.group_btns .fl_inner:last-child {
    padding-left: 2px;
}

.group_btns .btn {
    height: 48px;
    background-color: #fff;
    border-width: 1px;
    border-style: solid;
}

/* 電話 */
.group_btns .tel .btn {
    background-color: #2da83c;
    border-color: #81de8c #5abb65 #2da83c;
}

.group_btns .tel .btn:not(:active) {
    border-bottom-color: #03490b;
    box-shadow: 0 2px 0 #03490b;
}

.group_btns .tel_info {
    position: relative;
    display: inline-block;
    font-size: 12px;
    color: #fff;
    margin: auto;
    padding-top: 6px;
    padding-right: 6px;
    padding-left: 42px;
}

.group_btns .tel_info .yoasobicon_tel {
    position: absolute;
    top: 4px;
    left: 0;
    font-size: 36px;
}

.group_btns .tel .num {
    font-size: 20px;
    margin-top: 2px;
}

.group_btns .tel .num,
.group_btns .tel .txt_info {
    display: block;
    line-height: 1em;
    text-align: left;
}

@media screen and (max-width: 320px) {
    .group_btns .tel .num {
        font-size: 20px;
    }

    .group_btns .tel .txt_info {
        font-size: 12px;
    }
}

/* 電話番号ボタンしかない場合 */
.group_btns .fl_inner.tel:first-child:last-child {
    max-width: 220px;
    padding: 0;
}

/* 求人 */
.group_btns .job_f .btn,
.group_btns .job_m .btn {
    position: relative;
    font-size: 10px;
    font-weight: bold;
    line-height: 48px;
    background-color: #fff;
    overflow: hidden;
    white-space: nowrap;
    text-indent: 110%;
}

.group_btns .job_f .lbl,
.group_btns .job_m .lbl,
.group_btns .fl_inner:nth-child(2):nth-last-child(2) .lbl::after,
.group_btns .fl_inner:last-child:nth-child(3) .lbl::after {
    position: absolute;
    top: 1px;
    right: 0;
    left: 0;
    display: inline-block;
    width: 70px;
    height: 18px;
    margin: auto;
    background-image: url(/sp/st_img/shop_btn_job-38b6d964f9e217ce71f5c62445e4f598.png);
    background-repeat: no-repeat;
    background-position: 0 0;
    -webkit-background-size: 70px 36px;
    background-size: 70px 36px;
}

.group_btns .job_m .lbl {
    background-position: 0 -18px;
}

.group_btns .fl_inner:nth-child(2):nth-last-child(2) .lbl,
.group_btns .fl_inner:last-child:nth-child(3) .lbl {
    width: 35px;
    margin-top: 4px;
}

.group_btns .fl_inner:nth-child(2):nth-last-child(2) .lbl::after,
.group_btns .fl_inner:last-child:nth-child(3) .lbl::after {
    position: absolute;
    top: 18px;
    left: 0;
    width: 35px;
    background-position: -35px 0;
    content: '';
}

.group_btns .job_m:last-child:nth-child(3) .lbl::after {
    background-position: -35px -18px;
}

.group_btns .fl_inner:nth-child(2):last-child .lbl {
    top: 12px;
    width: 86px;
    height: 21px;
    -webkit-background-size: 86px 44px;
    background-size: 86px 44px;
}

.group_btns .job_m:nth-child(2):last-child .lbl {
    background-position: 0 -23px;
}

/* JOBリンク色 */
.group_btns .job_f .btn {
    color: #ff76ac;
    border-color: #ff76ac;
}

.group_btns .job_f .btn:not(:active) {
    box-shadow: 0 2px 0 #ff76ac;
}

.group_btns .job_m .btn {
    color: #7780ff;
    border-color: #7780ff;
}

.group_btns .job_m .btn:not(:active) {
    box-shadow: 0 2px 0 #7780ff;
}

/* 下部固定 */
.fix_bottom.mdl_mask {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    z-index: 1010;
    width: 100%;
    max-width: none;
    height: 60px;
    padding: 6px;
    background-color: rgba(0, 0, 0, 0.6);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.fix_bottom.mdl_mask .fl_base {
    max-width: 360px;
    margin: auto;
}

/* 固定表示解除ボタン */
.fix_bottom.mdl_mask .hide_btn {
    position: absolute;
    top: -28px;
    right: 6px;
    width: 24px;
    height: 24px;
    font-size: 22px;
    line-height: 24px;
    text-align: center;
    background-color: #fff;
    border-radius: 24px;
    opacity: 0.6;
    cursor: pointer;
}

@media screen and (min-width: 560px) {
    .fix_bottom.mdl_mask .hide_btn {
        top: 4px;
        opacity: 1;
    }
}

/* --------------------------------------- */
/* 緊急メッセージ */
/* --------------------------------------- */
.shop_msg {
    margin-top: 10px;
}

.shop_msg .arrow_icon {
    padding: 4px 26px 6px 8px;
}

.shop_msg .msg_time,
.shop_msg .msg_type {
    display: inline-block;
}

.shop_msg .msg_type {
    font-size: 11px;
    color: #fff;
    margin-left: 4px;
    padding: 2px;
    border-width: 1px;
    border-style: solid;
}

.shop_msg .msg_type.g1 {
    background-color: #289cf5;
    border-color: #3b72a8;
}

.shop_msg .msg_type.g2 {
    background-color: #26d118;
    border-color: #32ad00;
}

.shop_msg .msg_type.g3 {
    background-color: #e656b1;
    border-color: #d52588;
}

.shop_msg .msg_type.g4 {
    background-color: #e93538;
    border-color: #d30024;
}

/* --------------------------------------- */
/* 出勤情報 */
/* --------------------------------------- */
.shop_info .shop_atwork-info {
    margin-bottom: 8px;
    padding-top: 8px;
    border-top: 1px solid #a0a0a0;
}

.shop_atwork-info .fl_inner {
    width: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.shop_atwork-info .fl_inner:first-child {
    padding-right: 2px;
}

.shop_atwork-info .fl_inner:last-child {
    padding-left: 2px;
}

.shop_atwork-info .arrow_icon {
    height: 40px;
    font-size: 10px;
    line-height: 37px;
    padding: 0 26px 0 8px;
    border-width: 1px;
    border-style: solid;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.shop_normal .shop_atwork-info .arrow_icon.bg-link,
.shop_normal .shop_atwork-info .arrow_icon.c-link {
    color: inherit;
    background-color: #fec7e0;
    border-color: transparent;
}

.shop_atwork-info .arrow_icon::after {
    font-size: 1.2em;
}

.shop_atwork-info .lbl {
    font-size: 14px;
    font-weight: bold;
}

.shop_atwork-info .lbl:first-child:last-child {
    margin-right: -4px;
}

.shop_atwork-info .num {
    font-size: 18px;
    font-weight: bold;
    margin-right: 1px;
    margin-left: 6px;
    vertical-align: baseline;
}

@media screen and (max-width: 320px) {
    .shop_atwork-info .lbl {
        font-size: 11px;
    }

    .shop_atwork-info .num {
        font-size: 16px;
    }
}

/* スグ嬢 */
.mainarea:not(.shop_normal) .arrow_icon.sugu {
    border: none;
}

/* 0人 */
.shop_atwork-info .arrow_icon.none {
    color: #fff;
    background-color: #bfbfbf;
    border-color: #bfbfbf;
}

/* --------------------------------------- */
/* オススメGAL */
/* --------------------------------------- */
.recommended_gal {
    border-top: 1px solid #a0a0a0;
}

.recommended_gal .slick_body {
    max-height: 180px;
}

.recommended_gal .frame_content {
    max-width: 355px;
}

.recommended_gal .lbl_title {
    font-weight: bold;
    text-align: left;
    margin-top: 8px;
    padding: 6px 0 4px;
}

.recommended_gal .lbl_title,
.recommended_gal .read_more.arrow_icon {
    font-size: 16px;
}

.recommended_gal .list_item.fl_base {
    justify-content: space-around;
}

.recommended_gal .list_item .elm {
    width: 33.3%;
    padding: 2px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.link_item {
    display: block;
    width: 100%;
    color: inherit;
    text-align: center;
    padding: 4px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.link_item.inner {
    background-color: transparent;
}

.recommended_gal .thumb {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.recommended_gal .slick-next,
.recommended_gal .slick-prev {
    z-index: 1;
    width: 30px;
    height: 30px;
    text-align: center;
}

.recommended_gal .slick-prev {
    left: -6px;
}

.recommended_gal .slick-next {
    right: -6px;
}

.recommended_gal .name_item {
    font-size: 12px;
    margin: 2px auto;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

@media screen and (min-width: 414px) {
    .recommended_gal .slick-prev {
        left: -26px;
    }

    .recommended_gal .slick-next {
        right: -26px;
    }
}

.recommended_gal .slick-prev::before,
.recommended_gal .slick-next::before {
    font-size: 24px;
    color: #000;
    opacity: 0.3;
    text-shadow: 1px 0 0 #fff, 0 1px 0 #fff, -1px 0 0 #fff, 0 -1px 0 #fff, 2px 0 2px #fff, 0 2px 2px #fff, -2px 0 2px #fff, 0 -2px 2px #fff;
}

/* --------------------------------------- */
/* コンテンツピックアップ */
/* --------------------------------------- */
/* UP日時 */
.shop_info .list_article .date {
    font-size: 12px;
}

/* アイテム名 */
.shop_info .item_name {
    font-size: 13px;
    margin-bottom: 4px;
    padding-left: 14px;
    background-image: url(/sp/st_img/icon_girl-0f3b233713840c09db4caf8d1e38ad73.png);
    background-repeat: no-repeat;
    background-position: 0 1px;
    -webkit-background-size: 13px 13px;
    background-size: 13px 13px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* --------------------------------------- */
/* 日記 */
.shop_info .list_article .article-title {
    font-size: 18px;
    font-weight: bold;
    overflow: hidden;
    white-space: nowrap;
    text-decoration: underline;
    text-overflow: ellipsis;
}

.shop_info .list_article .list_article-item {
    min-height: 80px;
}

.shop_info .list_article .box_image {
    width: 70px;
    height: 70px;
    margin-right: 10px;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}

/* リストボーダー色 */
.list_article-item + .list_article-item {
    border-top: 1px solid #a0a0a0;
}

/* 個別記事へのリンク */
.link_article {
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    height: 100%;
    color: inherit;
    padding: 6px;
    box-sizing: border-box;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-content: flex-start;
    align-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
}

/* 記事画像のサムネ */
.link_article .box_image {
    position: relative;
    width: 100px;
    height: 100px;
    background-color: #eee;
    border-radius: 4px;
    overflow: hidden;
    -webkit-flex: 0 0 100px;
    -ms-flex: 0 0 100px;
    flex: 0 0 100px;
}

.img_article-thum {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    margin: auto;
}

.landscape {
    position: absolute;
    width: auto;
    height: 100%;
}

/* 文字情報枠 */
.link_article .box_text {
    max-width: 60%;
    max-width: -webkit-calc(100% - 80px);
    max-width: calc(100% - 80px);
    height: 70px;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
}

/* --------------------------------------- */
/* 動画 */
/* 動画情報 */
.movie .list_article .box_image + .box_text {
    max-width: 60%;
    max-width: -webkit-calc(100% - 102px);
    max-width: calc(100% - 102px);
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

/* 動画サムネ */
.movie .list_article .box_image {
    position: relative;
    width: 93px;
    height: 70px;
    text-align: center;
    margin-left: 0;
    background-color: #000;
    overflow: hidden;
}

/* 動画サムネ：画像 */
.movie .list_article .img_movie-thum {
    position: absolute;
    top: 0;
    right: -50%;
    bottom: 0;
    left: -50%;
    z-index: 0;
    height: 75px;
    margin: auto;
}

/* 動画サムネ：再生時間 */
.movie .list_article .txt_playtime {
    position: absolute;
    right: 2px;
    bottom: 2px;
    z-index: 2;
    display: inline-block;
    font-size: 10px;
    line-height: 1em;
    color: #fff;
    padding: 2px 6px;
    background-color: rgba(0, 0, 0, 0.3);
    border-radius: 2px;
}

/* 動画カテゴリ */
.shop_info .list_article .cate {
    font-size: 10px;
    margin: 0;
    padding-left: 18px;
    background: url(/sp/st_img/icon_cate-417987d293ea58d007538c005b473be1.png) no-repeat 1px center;
    -webkit-background-size: 13px;
    background-size: 13px;
}

/* --------------------------------------- */
/* メニュー */
/* --------------------------------------- */
.shop_info .shop_main-menu .arrow_icon {
    padding: 14px 28px 14px 38px;
}

.shop_info .shop_main-menu .elm {
    position: relative;
}

.shop_info .shop_main-menu [class^='yoasobicon_'] {
    position: absolute;
    top: 14px;
    left: 8px;
    font-size: 24px;
}

.shop_normal .shop_main-menu [class^='yoasobicon_'] {
    color: #9b1f00;
}

/* --------------------------------------- */
/* PR */
/* --------------------------------------- */
.shop_info .shop_pr .frame_content {
    padding: 6px 10px;
}

.box_prtxt {
    font-size: 16px;
    line-height: 1;
}

.box_prtxt a:not([class]) {
    text-decoration: underline;
}

.box_prtxt img {
    max-width: 100%;
    height: auto !important;
}

.shop_normal .box_prtxt {
    line-height: 1.6;
    padding-top: 6px;
    padding-bottom: 6px;
}

.box_prtxt .inner::after {
    content: '.';
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}

/* --------------------------------------- */
/* 店舗データ */
/* --------------------------------------- */
.shop_data {
    word-wrap: break-word;
}

.shop_data .hl_sub {
    font-size: 12px;
    font-weight: normal;
}

/* 店舗データ：コメント */
.shop_data .shop_comment {
    padding: 8px 4px;
}

.shop_data .comment_main {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 2px;
}

.shop_data .comment_sub {
    font-size: 14px;
    line-height: 1.4;
}

/* 店舗データ：リスト */
.shop_info .data_list {
    font-size: 12px;
}

.shop_data .data_lbl {
    display: inline-block;
    width: 68px;
    text-align: center;
    margin-top: 6px;
    padding: 1px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.shop_data .data_txt {
    display: inline-block;
    width: 80%;
    width: -webkit-calc(100% - 74px);
    width: calc(100% - 74px);
    margin-top: 8px;
    padding: 0 6px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    vertical-align: top;
}

.shop_data .data_list .c-link {
    text-decoration: underline;
}

.shop_data .data_list .link_tel {
    font-size: 16px;
}

.shop_data .data_list .link_search {
    color: inherit;
    text-decoration: underline;
}

/* ナビページへのリンク */
.shop_data .data_list .link_nav {
    width: 200px;
    padding: 2px 10px;
    border-width: 1px;
    border-style: solid;
    text-decoration: none;
}

.shop_data .link_nav .yoasobicon_nav {
    font-size: 14px;
    vertical-align: text-bottom;
}

/* --------------------------------------- */
/* お店ページ内フッタ */
/* --------------------------------------- */
.shop_footer {
    font-size: 14px;
    letter-spacing: 1px;
}

/* お店メニュー */
.shop_footer .opn_shop_menu {
    margin: 20px auto;
}

.shop_footer .opn_shop_menu .btn {
    height: 34px;
    font-weight: bold;
    line-height: 34px;
}

.shop_footer .opn_shop_menu .yoasobicon_menu {
    font-size: 18px;
    vertical-align: sub;
}

/* ページトップへ */
.link_p-top {
    display: block;
    height: 32px;
    font-size: 12px;
    line-height: 32px;
    text-align: right;
    margin: 10px 6px 0;
}

.link_p-top .mark {
    display: inline-block;
    width: 32px;
    font-size: 12px;
    color: #fff;
    text-align: center;
    margin-left: 6px;
    border-radius: 32px 32px 0 0;
    vertical-align: bottom;
}

/* --------------------------------------- */
/* 色指定 */
/* --------------------------------------- */
.shop_info {
    background-color: #fff;
}

.shop_info,
.shop_menu .arrow_icon {
    color: #333;
}

/* 店名 */
.head_menu {
    color: #fff;
    background-color: #ff329a;
}

/* 見出し */
.shop_info .hl_sub {
    color: #fff;
    background-color: #ff4141;
}

.shop_data .hl_sub,
.shop_data .data_lbl {
    color: #303030;
    background-color: #dcdcdc;
}

/* リンク文字色 */
.shop_info .c-link,
.shop_info a:not([class]) {
    color: #3469e5;
}

.bd-link {
    border-color: #3469e5;
}

.bg-link {
    background-color: #3469e5;
}

.shop_info .btn.bd-link:not(:active) {
    box-shadow: 0 2px 0 #3469e5;
}

/* PR */
.shop_pr .read_more::after {
    border-top-color: inherit;
}

.shop_pr .read_more.close::after {
    border-bottom-color: inherit;
}

/* 店舗データ：コメント文字色 */
.shop_data .comment_main {
    color: #ff1493;
}

/* 店舗メニュー */
.shop_footer .opn_shop_menu .btn {
    color: #fff;
    background-color: #3469e5;
    box-shadow: 0 1px 3px #333;
}

/* --------------------------------------- */
/* VIP-Mail案内 */
/* --------------------------------------- */
.vip_info .hl_main {
    padding-left: 6px;
    background-color: #bae4f4;
}

.vip_info .hl_sub {
    font-size: 14px;
    color: #333;
    /*margin-bottom: 4px;
    border-bottom: 1px solid #ccc;*/
    /* ▽現行css打消し用 */
    margin: 0 auto 4px;
    padding: 0;
    padding-bottom: 2px;
    background-color: transparent;
    border-width: 0 0 1px;
    border-bottom-style: solid;
    border-bottom-color: #ccc;
}

.vip_info .hl_sub:not(:first-child) {
    margin-top: 20px;
}

.vip_info .hl_sub.attention {
    color: #f00;
}

.vip_info .content {
    font-size: 14px;
    padding: 8px 10px;
}

.vip_info .content .txt {
    padding-left: 1.4em;
    text-indent: -1.4em;
}

.vip_info .txt + .txt {
    margin-top: 10px;
}

.vip_info .content .point {
    font-weight: bold;
    color: #f39;
}

.vip_info .content .note {
    font-size: 12px;
    margin-top: 10px;
}

/* ボタン */
.vip_info .btn {
    height: 40px;
    font-size: 18px;
    font-weight: bold;
    line-height: 40px;
    color: #fff;
    margin: 8px auto;
    background-color: #e23445;
}

.vip_info .btn:not(:active) {
    box-shadow: 0 3px 0 #60171e;
}

/* リスト */
.vip_info .list {
    margin-left: 20px;
    list-style: disc;
}

.vip_info .list .elm {
    margin-bottom: 10px;
}

.vip_info .list_num {
    margin-left: 20px;
    list-style: decimal;
}

.vip_info a:not([class]) {
    color: #3469e5;
    text-decoration: underline;
}

.vip_info .form-parts {
    width: 100px;
    margin-right: 2px;
}

/* 退会 */
.vip_info.remove {
    font-size: 0.9em;
    margin-top: 20px;
    background-color: #eee;
    border: none;
}

.vip_info.remove .hl_main {
    font-size: 14px !important;
    /*  margin: 0;
    padding: 10px 10px 0;
    font-size: 14px;
    border: none;
    background-color: transparent;*/
    /* ▽現行打消し用 */
    margin: 0 !important;
    padding: 10px 10px 0 !important;
    background: none !important;
    border: none !important;
}

/* --------------------------------------- */
/* DXバナー */
/* --------------------------------------- */
.box_dx-banner {
    text-align: center;
}

.inner_dx-banner {
    display: block;
    max-width: 100%;
    margin: auto;
}

.dx-banner {
    max-width: 100%;
    max-height: 100px;
    margin: auto;
}

@media screen and (min-width: 360px) {
    .dx-banner {
        max-height: 113px;
    }
}

@media screen and (min-width: 375px) {
    .dx-banner {
        max-height: 117px;
    }
}

@media screen and (min-width: 414px) {
    .dx-banner {
        max-height: 129px;
    }
}

@media screen and (min-width: 480px) {
    .inner_dx-banner {
        max-width: 480px;
    }

    .dx-banner {
        max-height: 150px;
    }
}

/* --------------------------------------- */
/* 夜ガイ協賛店 */
/* --------------------------------------- */
.yg_gt_announce {
    background-color: #eaeaea;
    border-color: #fff;
    border-style: solid;
    border-width: 1px 0;
}

.yg_gt_announce .btn_gt {
    box-sizing: border-box;
    display: block;
    font-size: 14px;
    margin: 0 auto;
    padding: 8px 4px;
    text-align: center;
    text-decoration: none;
}

.yg_gt_announce .content {
    background-image: url(/sp/st_img/icon_gt-03a9fb21613693cb257b1a4342df5688.svg);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 34px;
    display: inline-block;
    height: 34px;
    line-height: 34px;
    padding-left: 40px;
    text-align: left;
}

.yg_gt_announce .notice {
    color: #f00;
    font-size: 1.1em;
    font-weight: bold;
}

.yg_gt_announce .link_detail {
    background-color: #4b8dea;
    border-radius: 6px;
    color: #fff;
    padding: 6px 8px;
}

/* モーダル表示 */
.mdl_base.gt_info .mdl_inner {
    box-sizing: border-box;
    margin: auto;
    padding: 0 12px;
    top: 130px;
}

.gt_info .content {
    background-color: #18508a;
    border: 3px solid #18508a;
    border-radius: 2px;
    height: 100%;
    overflow: hidden;
}

.gt_info .inner {
    background-color: #fff;
    border-radius: 0 0 2px 2px;
    overflow: hidden;
}


.gt_info .content .hl_main {
    background-color: #18508a;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    height: 36px;
    line-height: 36px;
    padding: 0 10px;
    position: relative;
}

.gt_info .content .close_btn {
    bottom: 0;
    color: inherit;
    cursor: pointer;
    display: block;
    margin: auto;
    position: absolute;
    right: 8px;
    top: 0;
}

.gt_info .content .txt {
    line-height: 1.6;
    padding: 8px;
}

.gt_info .content .point {
    color: #f22c5a;
    font-weight: bold;
}

.gt_info .content .arrow_gp {
    border-top: 1px solid #ccc;
    padding: 8px 24px 8px 8px;
}

.gt_info .available {
    border-radius: 10px;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
    margin: 8px 10px;
    padding: 10px 8px 8px;
    position: relative;
}

.gt_info .available .txt_lbl {
    background-color: #fff;
    font-size: 13px;
    font-weight: bold;
    left: 0;
    margin: auto;
    padding: 2px 4px;
    position: absolute;
    right: 0;
    top: -10px;
    width: fit-content;
}

.gt_info .available .list_ticket {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: auto;
    text-align: center;
}

@media screen and (min-width: 480px) {
    .gt_info .available .list_ticket {
        width: 90%;
    }
}

.gt_info .list_ticket .elm {
    box-sizing: border-box;
    flex: 0 0 50%;
    max-width: 160px;
    padding: 4px;
}

.gt_info .list_ticket .ticket_frame {
    font-size: 12px;
    text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff, 1px 0 0 #fff, 0 1px 0 #fff, -1px 0 0 #fff, 0 -1px 0 #fff;
}

.gt_info .list_ticket .ticket_frame .num {
    font-size: 1.3em;
    font-weight: bold;
    margin: 0 1px;
}

.gt_info .ticket_frame {
    background-image: url(/sp/st_img/ticket_frame_voucher1-0fa5765541e8e7bfa725f152d17d5628.png), url(/sp/st_img/ticket_frame_voucher2-4f41b3e50b23a66f93a1adf57e9c22e1.png), url(/sp/st_img/ticket_bg_voucher-442aeda48c5ee6af42a9dca11ee63be0.png);
    background-position: center 2%, center 98%, top center;
    background-repeat: repeat-x, repeat-x, no-repeat;
    background-size: 4px 3px, 4px 3px, cover;
    border: 3px solid #fff;
    padding: 10px 2px;
    position: relative;
}

.gt_info .ticket_frame::before {
    border: 1px solid #ccc;
    bottom: -3px;
    content: '';
    display: block;
    left: -3px;
    margin: auto;
    position: absolute;
    right: -3px;
    top: -3px;
}

.gt_info .ticket_frame.voucher_1k {
    background-image: url(/sp/st_img/ticket_frame_voucher1_1k-7193a84e50a73833e5ea24917f08797f.png), url(/sp/st_img/ticket_frame_voucher2_1k-2560d5237871ff484b777a7c9182fd2b.png), url(/sp/st_img/ticket_bg_voucher_1k-bc255e51b43f2f63b5e450dab262af7c.png);
}

.gt_info .ticket_frame.voucher_2k {
    background-image: url(/sp/st_img/ticket_frame_voucher1_2k-ae580c71cb5c66f50f3aba7c14f6d906.png), url(/sp/st_img/ticket_frame_voucher2_2k-3d557332282bf0686f7a606e14ae856e.png), url(/sp/st_img/ticket_bg_voucher_2k-eae224f3d6342151db173477f48c3fa8.png);
}

.gt_info .ticket_frame.voucher_3k {
    background-image: url(/sp/st_img/ticket_frame_voucher1_3k-4cf43feaebe476d3c303b4bc4c510e9e.png), url(/sp/st_img/ticket_frame_voucher2_3k-dfba0aba2297d6fa0dfe2746b3e42177.png), url(/sp/st_img/ticket_bg_voucher_3k-b35b6fe872e3e0170c17898738d2501b.png);
}

.gt_info .ticket_frame.voucher_5k {
    background-image: url(/sp/st_img/ticket_frame_voucher1_5k-52b67539d24163fc344c9c84fb583fa4.png), url(/sp/st_img/ticket_frame_voucher2_5k-8a2c798ab06fdccc99124cbe02ad264c.png), url(/sp/st_img/ticket_bg_voucher_5k-3c13afe58f2c7a673f32d53cd5befc32.png);
}

.gt_info .ticket_frame.voucher_10k {
    background-image: url(/sp/st_img/ticket_frame_voucher1_10k-bd5e781a8b048f75a9113cdfd5be7d03.png), url(/sp/st_img/ticket_frame_voucher2_10k-59470877d440e07efb7865343927efd5.png), url(/sp/st_img/ticket_bg_voucher_10k-32c3757d62efb68f5dbb8af480fe0be2.png);
}

.gt_info .txt_link {
    color: #3469e5;
    display: inline-block;
    font-size: 14px;
    padding: 6px 10px;
    text-decoration: underline;
}

@media screen and (max-width: 320px) {
    .yg_gt_announce .btn_gt {
        font-size: 12px;
    }

    .gt_info .list_ticket .ticket_frame {
        font-size: 10px;
    }
}

/* --------------------------------------- */
/* 夜ガイニュースバナー */
/* --------------------------------------- */
.link_ygn {
    display: block;
    max-width: 480px;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    margin: 14px 10px 10px;
    padding: 6px 8px;
    background-color: #369;
    background-repeat: repeat-x;
    -webkit-background-size: 8px 60px;
    background-size: 8px 60px;
    border-radius: 2px;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.6);
}

.box_banner_yg-news .date {
    font-size: 12px;
    padding: 2px;
    border-width: 0 0 1px;
    border-style: dotted;
}

.box_banner_yg-news .arrow_icon {
    font-size: 16px;
    font-weight: bold;
    text-align: left;
    margin-top: 0;
    padding: 0;
    padding-top: 4px;
    padding-right: 16px;
    border-top: 1px dotted rgba(0, 0, 0, 0.3);
}

.box_banner_yg-news .arrow_icon::after {
    top: 4px;
    right: 0;
    font-size: 0.8em;
}

@media screen and (min-width: 480px) {
    .link_ygn {
        margin: 14px auto 10px;
    }
}

@media screen and (max-width: 320px) {
    .box_banner_yg-news .link_ygn .arrow_icon {
        font-size: 14px;
    }
}

/* --------------------------------------- */
/* アイテム一覧 */
/* --------------------------------------- */
/* 見出し */
.item_info .hl_list.head_menu {
    position: relative;
    min-height: 16px;
    font-size: 16px;
    margin-bottom: 0;
    padding: 7px 8px 7px 32px;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.item_info .hl_list.head_menu > [class^='yoasobicon_'] {
    position: absolute;
    top: 5px;
    left: 8px;
    width: 20px;
    height: 20px;
    font-size: 20px;
    text-align: center;
}

/* 青色リンク */
.item_info .constant {
    color: #3469e5;
}

/* 一覧の表示情報 */
.item_info .list_info {
    height: 36px;
    font-size: 14px;
    line-height: 36px;
    text-align: left;
    padding: 0 14px;
    background: #dae0e5;
    border-width: 1px 0;
    border-style: solid;
    border-color: #a0a0a0;
}

.item_info .clist_general + .list_info {
    border-top: none;
}

/* 表示条件(フォルダ分け) */
.item_info .view_folder {
    border-top: 1px solid #a1a1a1;
}

.item_info .fix_top .view_folder {
    border-bottom: 1px solid #a1a1a1;
}

.item_info .view_folder {
    position: relative;
}

.item_info .view_folder > .btn_change {
    display: block;
    height: 40px;
    font-size: 18px;
    font-weight: bold;
    line-height: 40px;
    text-align: center;
    padding-right: 30px;
    padding-left: 10px;
    background-color: #f4f4f4;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.item_info .view_folder > .btn_change.open {
    position: relative;
    padding-right: 30px;
}

.item_info .btn_change.open i {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    width: 20px;
    height: 20px;
    font-size: 18px;
    margin: auto;
}

.item_info .btn_change .lbl::after {
    position: absolute;
    top: 0;
    right: 17px;
    bottom: 0;
    display: block;
    height: 1em;
    font-family: 'icomoon';
    font-weight: normal;
    line-height: 1em;
    color: #3469e5;
    margin: auto;
    content: '\e900';
}

.item_info .btn_change.open .lbl::after {
    position: absolute;
    top: 0;
    right: 17px;
    bottom: 0;
    color: #555;
    margin: auto;
    content: '\e940';
}

.item_info .btn_change + .list_folder {
    border-top: 1px solid #a1a1a1;
}

.item_info .btn_change:not(.open) + .list_folder {
    display: none;
}

.item_info .list_folder {
    position: absolute;
    top: 40px;
    z-index: 1000;
    width: 100%;
    text-align: left;
    padding: 0 6px;
    background-color: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.4);
}

.list_folder.open {
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.4);
}

.item_info .list_folder .btn_change {
    display: block;
    padding: 8px;
}

.item_info .list_folder .btn_change.folder {
    position: relative;
    padding-left: 30px;
}

.item_info .list_folder .folder::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 4px;
    height: 18px;
    font-family: 'icomoon';
    font-size: 18px;
    font-weight: normal;
    line-height: 1em;
    margin: auto;
    content: '\e941';
}

.item_info .list_folder .folder.selected::before {
    content: '\e942';
}

/* --------------------------------------- */
/* 絞り込み＆並び替えボタン */
.list_info.include_btn {
    position: relative;
    height: 40px;
    line-height: 40px;
}

.list_info.include_btn .box_refine {
    position: absolute;
    top: 0;
    right: 80px;
    bottom: 0;
    height: 28px;
    font-size: 14px;
    line-height: 28px;
    margin: auto;
    border-radius: 20px;
    vertical-align: bottom;
}

.list_info.include_btn .box_refine:first-of-type:last-child {
    right: 4px;
}

.list_info.include_btn .constant {
    display: inline-block;
    padding: 0 6px;
}

/* --------------------------------------- */
/* モーダル表示の絞り込み選択画面 */
.mdl_base.shop_info .box_view_cond {
    text-align: center;
}

.mdl_base .box_view_cond .hl_sub {
    position: relative;
    height: 40px;
    font-size: 16px;
    font-weight: bold;
    line-height: 40px;
    color: #fff;
    text-align: left;
    padding: 0 12px;
    background-color: #667284;
    box-shadow: none;
}

.mdl_base .mdl_inner.box_view_cond .btn_close {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 80px;
    font-size: 20px;
    text-align: right;
    margin: auto;
    padding-right: 10px;

    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}

.box_view_cond .list_cond {
    font-size: 14px;
    text-align: left;
    background-color: #fff;
}

.box_view_cond .list_cond .condition {
    display: block;
    font-weight: bold;
    padding: 10px;
}

/* --------------------------------------- */
/* 選択中 */
.item_info .selected {
    position: relative;
    font-weight: bold;
}

.item_info .list_folder .btn_change.selected {
    padding-right: 30px;
}

.item_info .list_folder .btn_change.selected {
    padding-right: 30px;
}

.item_info .selected::after {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    height: 18px;
    font-family: 'icomoon';
    font-size: 18px;
    font-weight: normal;
    line-height: 1em;
    color: #2ba73e;
    margin: auto;
    content: '\e943';
}

/* --------------------------------------- */
/* リスト中身 */
.item_info .item-list {
    background-color: #fff;
}

.item-list .elm .arrow_icon {
    padding: 0 28px 0 0;
}

.item_info .item-list .box_image {
    width: 105px;
    height: 140px;
    margin: 0;
    border: none;
}

.item_info .item-list .box_info {
    font-size: 12px;
    padding: 6px 0 6px 6px;
}

/* 日付 */
.item_info .item-list .box_icon {
    height: 20px;
    line-height: 20px;
}

/* --------------------------------------- */
/* アイテム名 */
.item_info .item-list .item_name {
    font-size: 16px;
    font-weight: bold;
    padding-left: 0;
    background: none;
    overflow: auto;
    white-space: normal;
    text-overflow: inherit;
}

/* --------------------------------------- */
/* サイズ区切り */
@media screen and (max-width: 320px) {
    .item_info .spec > span {
        margin-left: 2px;
    }
}

@media screen and (min-width: 360px) {
    .item_info .spec > span:not(:last-child)::after {
        content: '・';
    }
}

/* --------------------------------------- */
/* 出勤時間 */
.item_info .item-list .atwork_hours {
    display: inline-block;
    height: 20px;
    line-height: 20px;
    text-align: left;
    margin-top: 2px;
    padding-right: 6px;
    border: 2px solid #f03;
    border-radius: 4px;
    overflow: hidden;
}

.item_info .atwork_hours .lbl {
    display: inline-block;
    height: 100%;
    font-weight: bold;
    color: #fff;
    margin-right: 4px;
    padding: 0 4px;
    background-color: #f03;
    vertical-align: top;
}

/* 本日退勤 */
.item_info .atwork_hours.end {
    font-size: 11px;
    color: #fff;
    padding: 2px 6px;
    background-color: #bbb;
    border: 0 none;
}

/* スグ嬢 */
.item_info .item-list .sugu {
    display: inline-block;
    font-size: 1.1em;
    font-weight: bold;
    color: #f03;
}

.item_info .item-list .atwork_hours,
.item_info .item-list .sugu {
    vertical-align: middle;
}

@media screen and (max-width: 320px) {
    .item_info .item-list .atwork_hours {
        padding-right: 2px;
    }

    .item_info .atwork_hours {
        font-size: 10px;
    }

    .item_info .atwork_hours .lbl {
        margin-right: 2px;
        padding-left: 2px;
    }

    .item_info .item-list .sugu {
        font-size: 1em;
    }
}

/* 所属フォルダ */
.item_info .folder_name i {
    font-size: 16px;
    color: #74747c;
    vertical-align: text-bottom;
}

/* ひとりごと */
.item_info .item-list .msg {
    margin-top: 2px;
    padding: 4px;
    background-color: #f0f8ff;
    word-break: break-all;
}

/* 口コミ */
.review_icon {
    margin-top: 2px;
    font-weight: bold;

}

.review_icon .yoasobicon_comments {
    font-size: 16px;
    color: #7d7d7d;
    vertical-align: text-bottom;
}

.review_icon .num {
    font-size: 1.1em;
    color: #3469e5;
}

/* --------------------------------------- */
/* リスト用アイコン(新人、日記、動画) */
.item_info .item-list .icon {
    display: inline-block;
    width: auto;
    height: 18px;
    line-height: 16px;
    color: #080;
    text-align: left;
    margin-left: 0;
    padding: 0 4px;
    background-color: #fff;
    border: 1px solid #080;
    border-radius: 2px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    vertical-align: text-bottom;
}

.item-list .icon + .icon {
    margin-left: 2px;
}

/* --------------------------------------- */
/* アイテム以外 */
.item-list .txt_link.c-link {
    font-size: 16px;
}

.item-list .box_info:first-child:nth-last-child(1) .txt_link.c-link:first-child:nth-last-child(1) {
    padding: 4px 0;
}

/* --------------------------------------- */
/* ページャー */
.box_pager {
    font-size: 14px;
    border-bottom: 1px solid #a0a0a0;
}

.box_pager .fl_inner:not(:last-child) {
    border-right: 1px solid #a0a0a0;
}

.box_pager .fl_inner {
    flex-basis: calc(50% - 44px);
    box-sizing: border-box;
}

.box_pager .fl_inner.first,
.box_pager .fl_inner.last {
    width: 44px;
    -webkit-flex: 0 0 44px;
    -ms-flex: 0 0 44px;
    flex: 0 0 44px;
}

.box_pager .arrow_icon,
.box_pager .btn {
    display: block;
    height: 44px;
    line-height: 44px;
    text-align: center;
}

.box_pager .btn {
    width: 44px;
    font-size: 14px;
}

.box_pager .btn:active {
    transform: translate3d(0, 0, 0);
}

.box_pager i {
    line-height: inherit;
    opacity: 0.8;
}

.list_info + .box_pager .arrow_icon {
    text-align: center;
    padding-top: 0;
    padding-bottom: 0;
}

.box_pager .arrow_icon:not(.nonactive) {
    font-weight: bold;
}

.list_folder .nonactive,
.box_pager .nonactive {
    color: #bdc7d0;
    pointer-events: none;
}

.box_pager .prev .arrow_icon {
    padding-right: 8px;
    padding-left: 28px;
}

/* 左向き矢印 */
.box_pager .prev .arrow_icon::after,
.item_info .link_back .arrow_icon::after {
    right: auto;
    left: 8px;
    content: '\e902';
}

/* --------------------------------------- */
/* 戻るリンク */
.item_info .link_back {
    padding: 0;
    background: none;
}

.item_info .link_back .arrow_icon {
    padding-right: 8px;
    padding-left: 28px;
}

/* --------------------------------------- */
/* キーワード検索 */
.kw_search {
    margin: 8px;
    padding: 2px;
    background-color: #a0a0a0;
    border-radius: 8px;
    overflow: hidden;
}

.kw_search .fl_inner {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.kw_search .kw_txt,
.kw_search .kw_btn {
    display: inline-block;
    height: 36px;
    line-height: 36px;
    border: 0 none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    vertical-align: middle;
    outline: none;

    -webkit-appearance: none;
}

.kw_search .kw_txt {
    width: 100%;
    padding: 0 8px;
    background-color: #fff;
    border-radius: 6px 0 0 6px;
}

.kw_search .fl_inner:last-child {
    width: 46px;
    -webkit-flex: 0 1 46px;
    -ms-flex: 0 1 46px;
    flex: 0 1 46px;
}

.kw_search .kw_btn {
    position: relative;
    width: 100%;
    text-align: center;
    background-color: transparent;
}

.kw_search .kw_btn .yoasobicon_search {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 25px;
    font-size: 24px;
    color: #fff;
    margin: auto;
}

/* --------------------------------------- */
/* アイテム詳細 */
/* --------------------------------------- */
.girlInfo {
    font-size: 14px;
}

@media screen and (max-width: 320px) {
    .girlInfo {
        font-size: 12px;
    }
}

.more_info.link_btn .btn {
    box-sizing: content-box;
}

.box_girl-movie .link_article .box_image {
    position: relative;
    width: 100px;
    height: 75px;
    text-align: center;
    margin-left: 0;
    background-color: #000;
    overflow: hidden;
    order: 0;
}

.link_blog .link_article .box_text:first-child:last-child {
    max-width: none;
    height: auto;
    justify-content: space-between;
}

.link_blog li.list_article-item:not(:first-child) p.article-title {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.link_blog .box_image + .box_text {
    height: 75px;
}

/* --------------------------------------- */
/* 店SNS */
/* --------------------------------------- */
.sns_links.fl_base {
    flex-wrap: wrap;
    padding: 0.2rem;
}

.sns_links .fl_inner {
    box-sizing: border-box;
    padding: 0.2rem;
}

@media screen and (max-width: 991px) {
    .sns_links .fl_inner {
        flex: 0 0 50%;
    }
    .sns_links .fl_inner:only-child {
        flex-grow: 1;
    }
}

.sns_links .btn {
    font-weight: bold;
    height: 2.8rem;
    line-height: 2.8rem;
    padding-left: 3.4rem;
    position: relative;
    text-align: left;
    overflow: hidden;
    z-index: 10;
    color: #3469e5;
}

.sns_links .btn::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 0;
    opacity: 0.15;
    background-color: #3469e5;
}

.sns_links .btn::before {
    background-color: #fff;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 1.4rem;
    border-radius: 2rem;
    bottom: 0;
    content: '';
    display: block;
    height: 2rem;
    left: 0.8rem;
    margin: auto;
    position: absolute;
    top: 0;
    width: 2rem;
    z-index: 1;
}

.sns_links .x_twitter::before {
    background-image: url(/sp/st_img/icon_x_twitter-e9447d145a4bb6d6b4c993f6a2f4be72.svg);
}

.sns_links .instagram::before {
    background-image: url(/sp/st_img/icon_instagram-bedd168dcf517cc816d93c98f8b2b4ae.svg);
}

.sns_links .tiktok::before {
    background-image: url(/sp/st_img/icon_tiktok-ea052d0e0e742db949579a7473efac89.svg);
}

.sns_links .youtube::before {
    background-image: url(/sp/st_img/icon_youtube-9676f596a5234f2e6203652d3a6611cf.svg);
}

/* --------------------------------------- */
.item_info .item_social_icons {
    margin-top: 4px;
}

.item_info .item_social_icons .icon {
    border: 1px solid #ccc;
    border-radius: 26px;
    color: #fff;
    height: 26px;
    overflow: hidden;
    position: relative;
    text-align: center;
    width: 26px;

}

.item_social_icons .icon::after {
    background-position: center center;
    background-repeat: no-repeat;
    bottom: 0;
    content: '';
    display: block;
    font-family: 'icomoon';
    height: 100%;
    left: 0;
    line-height: inherit;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
}

.item_info .item_social_icons .line::after {
    background-image: url(/sp/st_img/icon_line-253a25390b08d330d8bfec2ebcc8e932.svg);
    background-size: 18px;
}

.item_info .item_social_icons .tel::after {
    content: '\e932';
    font-size: 20px;
    height: fit-content;
    width: fit-content;
}

.item_info .item_social_icons .tel {
    color: #fa339a;
}

.item_info .item_social_icons .mail {
    color: #097aff;
}

.item_info .item_social_icons .mail::after {
    content: '\e91c';
    font-size: 18px;
    height: fit-content;
    width: fit-content;
}

.item_info .item_social_icons .x_twitter::after {
    background-image: url(/sp/st_img/icon_x_twitter-e9447d145a4bb6d6b4c993f6a2f4be72.svg);
    background-size: 18px;
}

.item_info .item_social_icons .instagram::after {
    background-image: url(/sp/st_img/icon_instagram-bedd168dcf517cc816d93c98f8b2b4ae.svg);
    background-size: 18px;
}

.item_info .item_social_icons .tiktok::after {
    background-image: url(/sp/st_img/icon_tiktok-ea052d0e0e742db949579a7473efac89.svg);
    background-size: 18px;
}

.item_info .item_social_icons .youtube::after {
    background-image: url(/sp/st_img/icon_youtube-9676f596a5234f2e6203652d3a6611cf.svg);
    background-size: 18px;
}

/* --------------------------------------- */
/* アイテムSNS */
/* --------------------------------------- */
.content_block .hl_sub {
    background: linear-gradient(to bottom, #8080ff, #4848c4);
    border: none;
    box-sizing: border-box;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.2;
    margin: 0 0 5px;
    padding: 6px 10px 7px;
    position: relative;
}

/* --------------------------------------- */
.item_contact {
    margin: -4px auto 14px;
    max-width: 414px;
    padding: 0 6px;
}

.item_contact .btn {
    border: 1px solid;
    border-radius: 0;
    box-sizing: content-box;
    display: block;
    font-size: 16px;
    font-weight: bold;
    height: 44px;
    line-height: 44px;
    position: relative;
}

.item_contact .fl_inner:first-child {
    padding-right: 4px;
}

.item_contact .fl_inner:nth-child(2) {
    padding-left: 2px;
    padding-right: 2px;
}

.item_contact .fl_inner:last-child {
    padding-left: 4px;
}

.item_contact .line {
    color: #27c644;
}

.item_contact .tel {
    color: #fa339a;
}

.item_contact .mail {
    color: #097aff;
}

/* --------------------------------------- */
.content_block .sns_links {
    margin-top: -5px;
}