@charset "UTF-8";

/*=================================
  Mobile-only elements (hidden on PC)
===================================*/
.sp-tel-fixed,
.sp-header-nav,
.sp-slide-menu,
.sp-slide-overlay,
.sp-bottom-bar,
.sp-pagetop-triangle,
.sp-site-menu,
.sp-widgets,
.sp-side-banners {
    display: none;
}

/* Header mobile logo, time, tel: hidden on PC */
.sp-header-logo,
#header_time,
#header_tel {
    display: none;
}

/*=================================
  Mobile: max-width 768px
===================================*/
@media screen and (max-width: 768px) {

    /*---------------------------------
      Body & HTML - Mobile dark theme
    -----------------------------------*/
    body,
    body#index {
        background-color: #000 !important;
        background-image: none !important;
        background-attachment: scroll !important;
        color: #666;
        overflow-x: hidden;
        margin: 0;
        padding: 0;
    }

    /*---------------------------------
      Fixed Phone Icon (top-right)
      Uses smf_bg_tel.png image
    -----------------------------------*/
    .sp-tel-fixed {
        display: block;
        position: fixed;
        right: 5px;
        top: 5px;
        width: 45px;
        z-index: 999;
        margin: 5px auto;
    }

    .sp-tel-fixed a {
        display: block;
    }

    .sp-tel-fixed a img {
        width: 45px;
        height: auto;
    }

    /*---------------------------------
      H1 Title Bar
    -----------------------------------*/
    h1 {
        padding: 5px 0;
        min-height: 20px;
        font-size: 10px;
        text-align: center;
        line-height: 20px;
        height: auto !important;
        color: #fff;
        background: transparent !important;
        background-image: none !important;
    }

    #container,
    #wrap {
        background: transparent !important;
        background-image: none !important;
    }

    /*---------------------------------
      Header
      Background: smf_bg.jpg, Content: header_logo.png
    -----------------------------------*/
    #header {
        width: 100%;
        height: auto;
        text-align: center;
        background: #fff url("../images/smf_bg.jpg") no-repeat center top !important;
        background-size: 100% auto !important;
    }

    /* Show the transparent logo on mobile (gives header its height) */
    .sp-header-logo {
        display: block;
        width: 65%;
        height: auto;
    }

    /* Time and Tel bars use bg_smf_time.jpg background */
    #header_time,
    #header_tel {
        display: block;
        background: url("../images/bg_smf_time.jpg") no-repeat;
        background-size: 100% 100%;
        margin: 0 auto 5px;
        padding: 6px 0 0;
        text-align: center;
        width: 100%;
        max-width: 282px;
        height: auto;
        min-height: 28px;
        font-weight: bold;
        font-size: 16px;
        color: #fff;
    }

    #header_tel a {
        display: block;
        color: #fff;
        text-decoration: none;
    }

    /*---------------------------------
      PC Navigation → hide
    -----------------------------------*/
    #navigation {
        display: none;
    }

    .navigation_innar {
        position: static;
        transform: none;
    }

    /*---------------------------------
      SP Navigation Bar (5 image buttons)
      Uses b_menu.png, b_news.png, b_system.png, b_girl.png, b_schedule.png
    -----------------------------------*/
    .sp-header-nav {
        display: block;
        width: 100%;
        margin: 0 auto;
        text-align: center;
    }

    .sp-header-nav ul {
        display: flex;
        justify-content: center;
        align-items: stretch;
        list-style: none;
        margin: 0;
        padding: 2px 0;
        background: #000;
    }

    .sp-header-nav li {
        display: inline-block;
        width: 18.2%;
        padding: 0.5% 0;
        text-align: center;
    }

    .sp-header-nav li a,
    .sp-header-nav li button {
        display: block;
        width: 100%;
        padding: 0;
        margin: 0;
        background: none;
        border: none;
        cursor: pointer;
        text-decoration: none;
    }

    .sp-header-nav li a img,
    .sp-header-nav li button img {
        width: 100%;
        height: auto;
        display: block;
    }

    /*---------------------------------
      Slide Menu (jPanelMenu style)
    -----------------------------------*/
    .sp-slide-overlay {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.6);
        z-index: 500;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s, visibility 0.3s;
    }

    .sp-slide-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    .sp-slide-menu {
        display: block;
        position: fixed;
        top: 0;
        left: -85%;
        width: 80%;
        max-width: 300px;
        height: 100%;
        background: linear-gradient(to bottom left, #4F4F4F, #0F0F0F);
        z-index: 600;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        transition: left 0.3s ease;
    }

    .sp-slide-menu.active {
        left: 0;
    }

    .sp-slide-menu ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .sp-slide-menu li {
        border-top: solid 1px #6F4907;
        padding: 0;
        background: linear-gradient(to bottom, #4f3405 0%, #1f1606 100%);
    }

    .sp-slide-menu li:last-child {
        border-bottom: solid 1px #6F4907;
    }

    .sp-slide-menu li a {
        display: flex;
        align-items: center;
        padding: 12px 10px 12px 15px;
        color: #fff;
        font-size: 14px;
        text-decoration: none;
    }

    .sp-slide-menu li a .menu-en {
        font-weight: bold;
        min-width: 90px;
        font-size: 14px;
    }

    .sp-slide-menu li a .menu-sep {
        margin: 0 8px;
        color: #6F4907;
    }

    .sp-slide-menu li a .menu-jp {
        font-size: 12px;
        color: #ccc;
    }

    .sp-slide-menu .close-item {
        background: linear-gradient(to bottom, #9f9f9f 0%, #4f4f4f 100%);
        border: solid 1px #DFDFDF;
        border-top: solid 1px #DFDFDF;
    }

    .sp-slide-menu .close-item a {
        justify-content: center;
        color: #fff;
        font-size: 14px;
    }

    /* Close button uses side_close.png image */
    .sp-slide-menu .close-item a .close-icon {
        width: 12px;
        height: 12px;
        margin-right: 8px;
        vertical-align: middle;
    }

    /* Slide menu items use smf_arrow2.png arrow */
    .sp-slide-menu li a {
        background: url('../images/smf_arrow2.png') no-repeat 95% center;
        background-size: 8px auto;
    }

    .sp-slide-menu .close-item a {
        background: none;
    }

    /*---------------------------------
      Common Layout
    -----------------------------------*/
    #container {
        padding-bottom: 52px;
    }

    #wrap {
        width: 100%;
        max-width: 100%;
    }

    #wrap_inner {
        width: 100%;
        max-width: 100%;
        margin-top: 0;
        padding: 0;
        box-sizing: border-box;
    }

    #bread-crumb-list {
        margin: 5px 10px;
        font-size: 10px;
    }

    #big_banner {
        width: 100%;
    }

    #main {
        width: 100%;
        max-width: 100%;
        margin: 5px auto;
        padding: 0 0 20px;
    }

    #content {
        float: none;
        width: 100%;
        min-height: auto;
        margin: 0;
        padding: 0;
    }

    #menu {
        display: none;
    }

    /* Mobile color overrides for dark theme */
    .beginner {
        background-color: #9F7609;
        color: #fff;
    }

    /* Override PC profile backgrounds */
    #today_inner .c-panel .profile,
    .c-panel .profile,
    .c-panel .c-profile {
        background: transparent !important;
        color: #fff;
    }

    /* Override PC .c-panel white background from color.css */
    .c-panel {
        background: #3F2800 !important;
        background-color: #3F2800 !important;
    }

    #footer {
        background: #000 !important;
    }

    #footer::before,
    #footer::after {
        display: none;
    }

    #footer address,
    #footer .shop_name,
    #footer .shop_time,
    #footer .shop_tel,
    #footer_navigation a {
        color: #fff;
    }

    #bread-crumb-list,
    #bread-crumb-list a {
        color: #ccc;
    }

    /* Override PC backgrounds that leak through */
    #headline {
        background: none !important;
    }

    .newface_inner,
    #news #news_inner_body,
    #today #today_inner {
        background: #000 !important;
    }

    #girls_inner,
    #ranking #ranking_inner,
    #contact #contact_inner,
    #profile #profile_inner,
    #system_inner,
    #recruit #recruit_inner {
        background-color: #000 !important;
    }

    /*---------------------------------
      Section Titles (h2, .c-title)
    -----------------------------------*/
    #content h2 {
        height: auto;
        min-height: 30px;
        padding: 8px 10px;
    }

    .c-title {
        height: auto;
        min-height: 30px;
        padding: 8px 10px;
        color: #fff;
    }

    .and_more a {
        color: #EFC24A;
    }

    /*---------------------------------
      Card Grid (.c-panel) - 2 columns
      Matches smf_color.css + smf_common.css
    -----------------------------------*/
    .c-panel {
        position: relative;
        width: 49.5% !important;
        padding: 0 !important;
        margin: 0 0 5px !important;
        margin-right: 1% !important;
        border-radius: 6px;
        box-sizing: border-box !important;
        background-color: #3F2800;
        color: #FF4F7F;

        border: 1px solid #8F6B2C;
        box-shadow: inset 0 0 1px rgba(255, 255, 255, 0.2), 1px 2px 3px rgba(0, 0, 0, 0.2);
        font-size: 15px;
        text-align: center;
    }

    /* Even-numbered cards: remove right margin so 2-column fits exactly */
    .c-panel:nth-of-type(2n) {
        margin-right: 0 !important;
    }

    .c-panel .image {
        position: relative;
    }

    .c-panel .image a img {
        width: 95%;
        margin: 3px;
        height: auto;
        border: 1px solid transparent;
    }

    .c-panel .profile,
    .c-panel .c-profile {
        height: auto;
        color: #fff;
    }

    #cast .c-panel .profile {
        height: auto;
    }

    .c-panel .name {
        background: #9F7609;
        color: #fff;
        font-size: 14px;
        font-weight: bold;
        padding: 2px 5px;
        margin: 0 auto 3px;
    }

    .c-panel .size {
        font-size: 10px;
        padding: 0 5px;
        color: #fff;
    }

    .c-panel .time {
        color: #fff;
    }

    /* Time display with ico_time.svg clock icon */
    .c-profile .time::before,
    .profile .time::before {
        content: '';
        display: inline-block;
        width: 12px;
        height: 12px;
        background: url('../images/ico_time.svg') no-repeat center center;
        background-size: contain;
        margin-right: 3px;
        vertical-align: middle;
    }

    /* Image heights: vw-based for mobile */
    .pick_photo > img {
        height: 126.2vw;
        object-fit: cover;
    }

    .today_schedule_box > .image > a > img {
        height: 62.45vw;
        object-fit: cover;
    }

    .girls_box > .image > a > img {
        height: 62.45vw;
        object-fit: cover;
    }

    .ranking_box_inner .girl_box > .image > a > img {
        height: 62.45vw;
        object-fit: cover;
    }

    #profile_img_big > img {
        height: auto;
        max-height: 80vw;
    }

    /*---------------------------------
      Top Page
    -----------------------------------*/
    #picup_news_area {
        display: flex;
        flex-direction: column;
    }

    #pickupgirl {
        float: none;
        width: 100%;
        min-height: auto;
        padding: 0;
    }

    #pickupgirl .top_pickup {
        width: 100% !important;
        margin-right: 0 !important;
        background-color: #3F2800;
        border: 1px solid #8F6B2C;
        border-radius: 6px;
        box-shadow: inset 0 0 1px rgba(255, 255, 255, 0.2), 1px 2px 3px rgba(0, 0, 0, 0.2);
    }

    #pickupgirl .top_pickup > a {
        display: block;
        width: 100%;
    }

    #pickupgirl .top_pickup .profile {
        color: #fff;
    }

    #pickupgirl .top_pickup .profile .name {
        background: #9F7609;
        color: #fff;
        font-weight: bold;
        padding: 2px 5px;
    }

    #pickupgirl .top_pickup .profile .size {
        color: #fff;
        padding: 0 5px;
    }

    .pick_photo {
        position: relative;
        border-radius: 5px 5px 0 0;
    }

    .pick_photo > a > img,
    .pick_photo > img {
        width: 100%;
        height: 126.2vw;
        object-fit: cover;
        border-radius: 5px 5px 0 0;
    }

    .pick_info {
        width: 100%;
        margin: 10px 0;
    }

    #news {
        float: none;
        width: 100%;
        margin: 10px 0;
        color: #fff;
    }

    .news_body {
        color: #fff;
    }

    #news > h3 img {
        width: 100%;
        height: auto;
    }

    #news #news_inner_body {
        width: 100%;
        height: auto;
        max-height: none;
        box-sizing: border-box;
        padding: 10px;
    }

    #news #news_inner_body img {
        max-width: 100%;
    }

    #today {
        width: 100%;
    }

    #today #today_inner {
        width: 100% !important;
        box-sizing: border-box;
        padding: 5px;
        display: flex !important;
        flex-wrap: wrap !important;
    }

    .today_schedule_box {
        width: 49.5% !important;
        box-sizing: border-box;
        margin-right: 1%;
        margin-bottom: 5px;
    }

    .today_schedule_box .image a img {
        border-radius: 5px 5px 0 0;
    }

    #newface {
        width: 100%;
    }

    #newface h3 {
        height: auto;
    }

    #newface h3 img {
        width: 100%;
        height: auto;
    }

    .newface_inner {
        width: 100%;
        box-sizing: border-box;
        max-height: none;
        overflow: visible;
    }

    .newface_innerbody {
        width: 100%;
        box-sizing: border-box;
        max-height: none;
        overflow: visible;
        display: flex !important;
        flex-wrap: wrap !important;
    }

    .newface_article {
        display: block !important;
        max-height: none;
        margin: 0 0 5px;
    }

    .newface_img {
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .newface_img > a > img {
        width: 100%;
        height: 62.45vw;
        object-fit: cover;
        border-radius: 5px 5px 0 0;
    }

    .girldata {
        width: 100%;
        padding: 5px;
        box-sizing: border-box;
        text-align: center;
    }

    .topslide {
        max-height: none;
    }

    .topslide img {
        max-height: none;
    }

    .top_pickup .twitter-icon {
        top: auto;
    }

    .and_more {
        width: 90%;
        margin: 10px auto;
    }

    /*---------------------------------
      Index Page (Age Verification)
    -----------------------------------*/
    body#index {
        background-size: cover;
        background-position: center top;
    }

    #wrap_index {
        width: 100%;
        padding: 0 10px;
        box-sizing: border-box;
    }

    #header_index {
        width: 100%;
        height: auto;
    }

    #header_index h1.index img,
    #header_index h2.index img {
        width: 100%;
        height: auto;
    }

    #index #header_info {
        position: relative;
        right: auto;
        top: auto;
        opacity: 1 !important;
        text-align: center;
        max-width: 282px;
        margin: 0 auto;
    }

    #btn_area {
        width: 100%;
        height: auto;
    }

    #btn_area p {
        display: inline-block;
        width: 80%;
        max-width: 263px;
        height: auto;
    }

    #btn_area p a img {
        width: 100%;
        height: auto;
    }

    #banner_area {
        width: 100%;
        padding: 0 10px;
        box-sizing: border-box;
    }

    #banner_area ul {
        width: 100%;
    }

    #box_r18 {
        width: 90%;
    }

    #content_index {
        margin: 30px 0 0;
    }

    /*---------------------------------
      Girl Page
    -----------------------------------*/
    #girls {
        width: 100%;
    }

    #girls_inner {
        width: 100% !important;
        display: flex !important;
        flex-wrap: wrap !important;
    }

    .girls_box {
        width: 49.5% !important;
        margin-right: 1%;
        margin-bottom: 5px;
        box-sizing: border-box;
    }

    .girls_box {
        box-sizing: border-box;
    }

    /*---------------------------------
      Profile Page
    -----------------------------------*/
    #profile {
        width: 100%;
    }

    #profile_inner {
        flex-direction: column;
    }

    .prof_l {
        width: 100%;
        padding-right: 0;
        margin-bottom: 15px;
    }

    .prof_r {
        width: 100%;
    }

    #contents_profile_img_box {
        float: none;
        width: 100%;
        margin: 10px 0;
    }

    .profile_data_list dd p img {
        max-width: 100%;
    }

    .widgetList {
        flex-direction: column;
    }

    .twitter_box {
        width: 100%;
        margin: 0 0 20px;
        min-height: auto;
    }

    .prof_table {
        overflow-x: auto;
    }

    .profile_list {
        min-width: 60px;
    }

    /*---------------------------------
      System Page
    -----------------------------------*/
    #system {
        width: 100%;
    }

    #system_inner {
        width: 100%;
        margin: 0;
        padding: 0 5px;
        box-sizing: border-box;
    }

    #system_inner img {
        max-width: 100%;
    }

    .basic_article .charge {
        width: 100%;
        float: none;
        padding: 10px 10px 0;
        margin: 10px 0 0;
        box-sizing: border-box;
    }

    .basic_article .charge dt {
        float: none;
        display: block;
        padding-left: 15px;
        margin-bottom: 2px;
    }

    .basic_article .charge dd {
        text-align: left;
        margin-left: 15px;
    }

    .basic_article,
    .play_article {
        border-left: none;
        border-right: none;
    }

    /*---------------------------------
      Campaign Page
    -----------------------------------*/
    #campaign {
        width: 100%;
    }

    #campaign_container {
        width: 100%;
    }

    .campaign_box {
        width: 100%;
        box-sizing: border-box;
    }

    .campaign_body {
        width: 100%;
        box-sizing: border-box;
        padding: 10px 5px 0;
    }

    .campaign_body img {
        max-width: 100%;
    }

    .campaign_title {
        padding: 8px;
    }

    .campaign_title h4 {
        width: auto;
        flex: 1;
        font-size: 14px;
        height: auto;
        line-height: 1.4;
    }

    /*---------------------------------
      Ranking Page
    -----------------------------------*/
    #ranking {
        width: 100%;
    }

    #ranking #ranking_inner {
        width: 100%;
        box-sizing: border-box;
        padding: 10px 5px;
    }

    #ranking #ranking_inner div.ranking_box {
        width: 100%;
        box-sizing: border-box;
    }

    #ranking .ranking_box h3 {
        margin-left: 5px;
    }

    #ranking #ranking_inner div.ranking_box div.ranking_box_inner {
        justify-content: center;
    }

    #ranking #ranking_inner div.ranking_box div.ranking_box_inner div.girl_box {
        width: calc(33.33% - 10px);
        margin: 0 5px 15px;
    }

    #ranking #ranking_inner div.ranking_box div.ranking_box_inner div.girl_box .g_image {
        width: 100%;
        height: auto;
    }

    #ranking #ranking_inner div.ranking_box div.ranking_box_inner div.girl_box .g_image img {
        width: 100%;
        height: auto;
    }

    /*---------------------------------
      Contact Page
    -----------------------------------*/
    #contact {
        width: 100%;
    }

    #contact #contact_inner {
        padding: 10px 5px;
    }

    #contact #contact_inner h4 {
        width: auto;
        padding: 5px 10px;
    }

    #contact table {
        display: block;
    }

    #contact table thead,
    #contact table tbody,
    #contact table tr {
        display: block;
        width: 100%;
    }

    #contact table th,
    #contact table td {
        display: block;
        width: 100%;
        text-align: left;
        box-sizing: border-box;
    }

    #contact table td .con_info {
        width: 100%;
        float: none;
    }

    #contact table td .con_btn {
        margin-top: 8px;
    }

    #contact table td .con_btn a {
        float: none;
        width: 100%;
        display: block;
    }

    /*---------------------------------
      Newslist Page
    -----------------------------------*/
    #newslist article {
        margin: 10px 0;
    }

    #newslist_inner {
        padding: 0 5px;
    }

    #news_inner_body img,
    #newslist article img {
        max-width: 100%;
    }

    /*---------------------------------
      Hotel Page
    -----------------------------------*/
    #hotel {
        width: 100%;
    }

    #hotel table {
        width: 100% !important;
        box-sizing: border-box;
    }

    #hotel table td {
        font-size: 10px !important;
        padding: 6px 3px !important;
    }

    #hotel table th {
        font-size: 11px !important;
        padding: 6px 3px;
    }

    /*---------------------------------
      Recruit Page
    -----------------------------------*/
    #recruit {
        width: 100%;
    }

    #recruit #recruit_inner {
        width: 100%;
        box-sizing: border-box;
    }

    #recruit #recruit_inner img {
        max-width: 100%;
    }

    #recruit .bosyu {
        width: 100%;
    }

    #recruit table {
        width: 100% !important;
        box-sizing: border-box;
    }

    #recruit table th {
        width: auto;
        display: block;
    }

    #recruit table td {
        display: block;
    }

    .taigu_list li {
        width: 48%;
    }

    /*---------------------------------
      SP Site Menu (bottom of page)
    -----------------------------------*/
    .sp-site-menu {
        display: block;
        margin: 20px 0 0;
    }

    .sp-site-menu h2 {
        background: #5F3C00;
        color: #fff;
        padding: 12px 15px;
        margin: 0 10px 8px;
        font-size: 14px;
        display: flex;
        align-items: center;
        border-radius: 4px;
    }

    .sp-site-menu h2 .menu-h2-en {
        font-size: 16px;
        font-weight: bold;
        margin-right: 10px;
    }

    .sp-site-menu h2 .menu-h2-jp {
        font-size: 12px;
    }

    .sp-site-menu ul {
        list-style: none;
        margin: 0 10px;
        padding: 0;
        border-radius: 8px;
        overflow: hidden;
    }

    .sp-site-menu li {
        height: 45px;
        line-height: 45px;
        background: linear-gradient(to bottom, #4f3405 0%, #1f1606 100%);
        border-bottom: 1px dotted #6F4907;
    }

    .sp-site-menu li:last-child {
        border-bottom: none;
    }

    /* Site menu items use smf_arrow3.png arrow */
    .sp-site-menu li a {
        display: flex;
        align-items: center;
        height: 100%;
        padding: 0 15px;
        color: #fff;
        font-size: 13px;
        text-decoration: none;
        background: url('../images/smf_arrow3.png') no-repeat 97% center;
        background-size: 8px auto;
    }

    .sp-site-menu li a .site-menu-en {
        font-weight: bold;
        min-width: 90px;
        font-size: 13px;
    }

    .sp-site-menu li a .site-menu-sep {
        margin: 0 8px;
        color: #6F4907;
    }

    .sp-site-menu li a .site-menu-jp {
        font-size: 11px;
        color: #ccc;
    }

    .sp-site-menu .pagetop-item {
        background: #5F3C00;
    }

    .sp-site-menu .pagetop-item a {
        justify-content: center;
        color: #EFC24A;
    }

    /*---------------------------------
      Side Banners (mobile: 2-column)
    -----------------------------------*/
    #side_banner {
        display: block !important;
    }

    #side_banner ul {
        display: flex;
        flex-wrap: wrap;
        margin: 16px auto;
        padding: 0;
    }

    #side_banner li {
        width: calc(50% - 8px);
        padding: 4px;
        box-sizing: border-box;
    }

    /*---------------------------------
      Diary / Review Widgets (mobile)
    -----------------------------------*/
    .widget_diary,
    .widget_review {
        margin: 15px auto;
    }

    .widget_diary .fujoho_custom_banner,
    .widget_review .fujoho_custom_banner {
        width: 100% !important;
        max-width: 300px;
    }

    /*---------------------------------
      Footer
    -----------------------------------*/
    .footer_inner {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 20px 10px;
    }

    #footer h2 {
        margin: 0 0 10px;
    }

    #footer h2 img {
        width: 200px;
    }

    #footer_navigation ul {
        justify-content: center;
    }

    #footer {
        margin-bottom: 0;
    }

    /*---------------------------------
      PAGE TOP → hide (we use triangle)
    -----------------------------------*/
    #page_top {
        display: none;
    }

    /*---------------------------------
      SP Page-Top Triangle
    -----------------------------------*/
    .sp-pagetop-triangle {
        display: block;
        position: fixed;
        bottom: 52px;
        right: 1px;
        width: 26px;
        height: 26px;
        border-radius: 3px;
        background-color: rgba(73, 73, 73, 0.7);
        color: #fff;
        text-align: center;
        line-height: 26px;
        font-size: 14px;
        z-index: 100;
        cursor: pointer;
        text-decoration: none;
    }

    /*---------------------------------
      SP Bottom Fixed Bar
      Exact match: smf_common.css .slide-bottom + smf_color.css
    -----------------------------------*/
    .sp-bottom-bar {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 100;
        width: 100%;
        height: auto;
        margin: 0 auto;
        padding: 5px 0 8px;
        font-size: 18px;
        text-align: center;
        background-color: rgba(73, 73, 73, 0.7);
        box-sizing: border-box;
    }

    .sp-bottom-bar p {
        width: 48%;
        height: auto;
        text-align: center;
        margin: 0 0.5%;
        padding: 8px 0;
        border-radius: 3px;
        font-weight: bold;
        float: left;
    }

    .sp-bottom-bar .footer_tel {
        color: #fff;
        background: linear-gradient(to bottom, #ff5949 0%, #ff1919 100%);
        border: 1px solid #ff0000;
    }

    .sp-bottom-bar .footer_tel a {
        color: #fff;
        font-size: 18px;
        text-decoration: none;
        display: block;
    }

    .sp-bottom-bar .footer_info {
        color: #333;
        background: linear-gradient(to bottom, #ffffff 0%, #f4f2f2 100%);
        border: 1px solid #A3A3A3;
        font-size: 18px;
    }

    /*---------------------------------
      Language Page
    -----------------------------------*/
    .langPage .system-block1,
    .langPage .system-block2,
    .langPage .system-block3 {
        float: none;
        width: 100%;
    }

    .langPage .system-block1 table.table-style1,
    .langPage .system-block2 table.table-style1,
    .langPage .system-block3 table.table-style1 {
        width: 100%;
    }

    .langPage .today_schedule_box {
        width: 48%;
    }

    .langPage .contact_btn {
        flex-wrap: wrap;
    }

    .langPage .contact_btn a {
        margin-bottom: 10px;
    }

    .c-langBox {
        position: relative;
        width: 100%;
    }

    /*---------------------------------
      Headline
    -----------------------------------*/
    #headline {
        padding-left: 10px;
        padding-right: 10px;
    }

    /*---------------------------------
      Schedule Tabs
    -----------------------------------*/
    #day_btns {
        max-width: 100%;
    }

    .list-tab {
        width: 90%;
    }

    /*---------------------------------
      SP Widgets (diary/review below content)
    -----------------------------------*/
    .sp-widgets {
        display: block;
        margin: 20px 0;
    }

    .sp-widgets .widget_diary,
    .sp-widgets .widget_review {
        margin: 15px auto;
    }

    .sp-widgets .fujoho_custom_banner {
        width: 100% !important;
        max-width: 300px;
    }

    /*---------------------------------
      SP Side Banners (below widgets)
    -----------------------------------*/
    .sp-side-banners {
        display: block;
        margin: 10px 0;
    }

    .sp-side-banners #side_banner ul {
        display: flex;
        flex-wrap: wrap;
        margin: 16px auto;
        padding: 0;
    }

    .sp-side-banners #side_banner li {
        width: calc(50% - 8px);
        padding: 4px;
        box-sizing: border-box;
    }

    /*---------------------------------
      Swiper/Slider
    -----------------------------------*/
    .topslide {
        max-height: none;
    }

    .topslide img {
        max-height: none;
        object-fit: cover;
    }

    .big-banner img {
        width: 100%;
    }
}

/*=================================
  Small Mobile: max-width 480px
===================================*/
@media screen and (max-width: 480px) {

    #ranking #ranking_inner div.ranking_box div.ranking_box_inner div.girl_box {
        width: calc(50% - 10px);
    }

    .langPage .today_schedule_box {
        width: 100%;
    }

    .campaign_title h4 {
        font-size: 13px;
    }

    #hotel table td {
        font-size: 9px !important;
    }
}
