/**
 * sampleStyle.css(モックアップより)
 *
 */



/*==================
初期設定
==================*/
html, body, div, span, object, h1, h2, h3, h4, h5, h6, p, address, em, img, strong, dl, dt, dd, ol, ul, li, form, label, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figcaption, figure, footer, header, menu, nav, section, menu, audio, video{margin:0;padding:0;border:0;font-size:100%;}
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, a { display: block; }
html{ margin: 0; padding: 0; font-size: 100%; overflow-x: hidden; }
body{ margin: 0; padding: 0; font-size: 13px; line-height: 1.231; -webkit-text-size-adjust: none; font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", Arial, Helvetica, sans-serif; color:#000;background-color : #FFF; }
li{ list-style: none;vertical-align: top; }
.widget-area h2 { text-align: center; font-size: 18px; font-weight: normal; }
img:not(.html-image) { width:100%;vertical-align:top; }
a { text-decoration: none;color: #000; }
p { padding: 0;line-height: 1.3;word-break: break-all; }
footer { width: 100%;background-color: #eee;padding: 30px 0;text-align: center;margin-top: 20px; }



div.global_menu {
    width: 100%;
}
.widget-area div.global_newface {
    width: 100%;
}
div.global_enroll {
    width: 100%;
    overflow-y: hidden;
    overflow-x: auto;
}
div.global_worktime {
    width: 100%;
}
div.global_shameblog {
    width: 100%;
}
.global_shameblog .area {
    display: block!important;
}
div.global_movie {
    width: 100%;
}
div.global_ranking,
div.global_pickup {
    width: 100%;
}
div.global_direct_delivery {
    width: 100%;
}
div.evimg img {
    margin-right: 5px;
    width: 100%;
}
.widget-area div.area {
    margin: auto;
    position: relative;
    display: table;
    width: 100%;
}
ul {
    list-style: none;
    margin:0;
    padding: 0;
}
.cp_offcm01 {
    position: fixed;
    top: 20px;
    right: 20px;
    display: inline-block;
    z-index: 2000;
}
/* menu */
.cp_offcm01 .cp_menu {
    position: fixed;
    top: 0;
    right: -100vw;
    width: 250px;
    height: 100%;
    cursor: pointer;
    overflow: auto;
    -webkit-transition: 0.53s transform;
            transition: 0.53s transform;
    -webkit-transition-timing-function: cubic-bezier(.38,.52,.23,.99);
            transition-timing-function: cubic-bezier(.38,.52,.23,.99);
    background-color: #607D8B;
    opacity: 0.8;
}
.cp_offcm01 .cp_menu ul {
    margin: 0;
    padding: 0;
}
.cp_offcm01 .cp_menu li {
    list-style: none;
}
.cp_offcm01 .cp_menu li a {
    display: block;
    padding: 20px;
    text-decoration: none;
    color: #ffffff;
    border-bottom: 1px solid #ffffff;
}
.cp_offcm01 #cp_toggle01 {
    position: absolute;
    display: none;
    opacity: 0;
}
.cp_offcm01 #cp_toggle01:checked ~ .cp_menu {
    -webkit-transform: translateX(-100vw);
            transform: translateX(-100vw);
}
/* menu toggle */
.cp_offcm01 #cp_toggle01 ~ label {
    display: block;
    padding: 0.5em;
    cursor: pointer;
    -webkit-transition: 0.5s transform;
            transition: 0.5s transform;
    -webkit-transition-timing-function: cubic-bezier(.61,-0.38,.37,1.27);
            transition-timing-function: cubic-bezier(.61,-0.38,.37,1.27);
    text-align: center;
    color: #333333;
}
.cp_offcm01 #cp_toggle01:checked ~ label {
    -webkit-transform: translateX(-250px);
            transform: translateX(-250px);
}
.cp_offcm01 #cp_toggle01 ~ label::before {
    font-family: 'FontAwesome';
    content: '\f0c9';
    font-size: 2em
}
.cp_offcm01 #cp_toggle01:checked ~ label::before {
    content: '\f00d';
}
/* contents */
.cp_contents {
    color: #333333;
    text-align: center;
}
.content_box {
    margin: 0 auto;
    width: 100%;
}
.widget-area .movie {
    padding: 15px 0;
    font-size: 0;
    box-sizing: border-box;
}
.widget-area .syukkin_girls {
    display: flex;
}
.shopindex_individual {
    position: relative;
    margin: 10px 0px;
    display: inline-block;
    max-width: 640px;
    font-size: 12px;
    line-height: 17px;
    box-sizing: border-box;
    padding: 9px 7px;
}
.widget-area .newface_individual {
    position: relative;
    display: inline-block;
    width: 25%;
    font-size: 12px;
    line-height: 17px;
    box-sizing: border-box;
    overflow: hidden;
}
.newface_individual > div > a > img {
    height: 300px;
    width: 100%;
    object-fit: cover;
}
/* ↓1225SC編集↓ */
.widget-area .movie_individual {
    font-size: 12px;
    padding: 10px 5px 10px 5px;
    display: inline-block;
    width: 33.333%;
    box-sizing: border-box;
}
/* ↑1225SC編集↑ */
.widget-area .movie_individual:nth-child(2n) {
    padding: 10px 0px 10px 5px;
}
.movie_individual:nth-child(3n) {
    padding: 10px 5px;
}
.movie_index {
    position: relative;
    height: 66px;
}
.shukkin_individual {
    text-align: center;
    padding: 5px 10px;
    background-color: #000;
    border-radius: 5px;
    position: relative;
    top: 0;
    margin: 0 0 5px 0;
    color: #fff;
}
.enroll_profile, .shameblog_profile {
    padding: 5px 0px;
}
.enroll_shukkin_individual p {
	font-size: 12px;
    background: #000;
    color: #fff;
    padding: 2px;
    text-align: center;
    margin-bottom: 2px;
}
.worktime_profile {
    padding: 5px;
    width: 100%;
    height: 100%;
    vertical-align: middle;
    box-sizing: border-box;
    text-align: center;
}
.worktime_profile > .shukkin_individual {
    text-align: center;
    padding: 7px 10px;
    background-color: #fff;
    border-radius: 5px;
    position: relative;
    top: 0;
    color: #000;
    margin: 0 0 10px 0;
    display: none;
}
.newface_profile {
    padding: 5px;
    width: 100%;
    height: 100%;
    vertical-align: middle;
    box-sizing: border-box;
    text-align: center;
}
.newface_profile > .shukkin_individual {
    text-align: center;
    padding: 7px 10px;
    background-color: #fff;
    border-radius: 5px;
    position: relative;
    top: 0;
    color: #000;
    margin: 0 0 10px 0;
    display: none;
}
.widget-area .profile_name {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    font-size: 14px;
    font-weight: bold;
	  padding: 2px 0;
}
.profile_name a {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.profile_date {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.entrydate {
    font-size: 17px;
    font-weight: bold;
    line-height: 17px;
    position: absolute;
    top: 0;
    width: 100%;
    left: 0;
    background-color: rgba(0 0 0 / 40%);
    padding: 5px 3px;
    box-sizing: border-box;
    color: #fff;
}
.widget-area .listbutton {
    text-align: center;
    display: block;
    margin: 20px;
}
.widget-area .listbutton a {
    padding: 16px 30px;
    display: inline-block;
}
.newfacelistbutton a {
    background-color: #333;
    color: #fff;
}
.enrolllistbutton a {
    background-color: #333;
    color: #fff;
}
.shamebloglistbutton a {
    background-color: #333;
    color: #fff;
}
.kuchikomilistbutton a {
    background-color: #333;
    color: #fff;
}
.girlsrecruitlistbutton a {
    background-color: #F69 !important;
    color: #fff !important;
    border-radius: 2px;
}
.boysrecruitlistbutton a {
    background-color: #07caff !important;
    color: #fff !important;
    border-radius: 2px;
}
.allicon {
    margin: 5px 0px;
    display: none;
}
.enroll_allicon {
    margin: 2px 0 5px 0px;
}
.allicon_newface, .allicon_enroll, .allicon_worktime {
    margin: 6px 0px;
    font-size: 0;
    display: none;
}
.enroll_allicon > .kutikomi_icon, 
.enroll_allicon > .yoyaku_icon, 
.enroll_allicon > .newface_icon, 
.enroll_allicon > .syame_icon, 
.enroll_allicon > .movie_icon, 
.enroll_allicon > .ranking_icon {
    background-color: #333;
    padding: 4px 4px;
    color: #fff;
    border-radius: 2px;
    display: inline-block;
    margin: 1px 0 0 0;
    font-size: 10px;
}
.newface_text, .enroll_text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.slidebanner {
    margin: 0 auto;
    width: 100%;
    text-align: center;
    overflow: hidden;
    height: 220px;
}
.slidebanner ul li {
    position: absolute;
}
.slidebanner ol li {
    display: inline-flex;
    width: 1.5rem;
    height: 1.5rem;
    background: white;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin: 0 0 0.5rem 0;
    position: relative;
}
.slidebanner2 {
    margin: 0 auto;
    width: 100%;
    text-align: center;
    overflow: hidden;
}
.slidebanner2 ul li {
    position: absolute;
}
.slidebanner2 ol li {
    display: inline-flex;
    width: 1.5rem;
    height: 1.5rem;
    background: white;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin: 0 0 0.5rem 0;
    position: relative;
}
.direct_delivery > ul {
    display: block!important;
}
.direct_delivery > ul > li {
    width: 100%;
    margin: 0 auto 15px auto;
    padding: 10px;
    border-bottom: 1px dotted #ccc;
    display: inline-block;
    text-align: center;
    box-sizing: border-box;
/*    display: flex; */
}
.direct_delivery_img {
    display: inline-block;
    max-width: 120px;
    width: auto;
    margin-right: 5px;
    overflow: hidden;
    height: 120px;
    border-radius: 50%;
    vertical-align: middle;
}
.direct_delivery_img a img {
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    max-width: 100%;
}
.direct_delivery_img img {
    display: none;
}
.direct_delivery_img img[src^="/"],
.direct_delivery_img img[src^="http"] {
    display: block;
}
.direct_delivery_details {
    width: 60%;
    display: inline-block;
    vertical-align: middle;
    text-align: left;
}
.direct_delivery_ourselves {
    margin-right: 10px;
    padding: 0 10px;
    display: inline-block;
    color: #fff;
    line-height: 20px;
    text-decoration: none;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 2px;
    min-width: 85px;
    text-align: center;
    background: #03A9F4;
}
.direct_delivery_date {
    line-height: 20px;
    font-size: 11px;
    font-weight: bold;
    display: inline-block;
}
.direct_delivery_text {
    width: 100%;
    display: inline-block;
    font-size: 14px;
    font-weight: bold;
    padding: 5px 0;
}
.direct_delivery_texts {
    line-height: 1.5;
    text-align: justify;
    padding-top: 10px;
    margin-bottom: 10px;
    font-size: 14px;
    display: block;
    font-weight: bold;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
.direct_delivery_details > p > a {
    color: #000;
    font-size: 12px;
}
.shameblog {
    display: flex;
    overflow: auto;
    margin: 15px auto;
    font-size: 0;
}
.shameblog_sub {
    overflow: hidden;
}
.shameblog_sub_img {
    vertical-align: middle;
    padding: 0 6px 0 0;
    display: table-cell;
}
.shameblog_sub_fliter {
    height: 40px;
    width: 40px;
    overflow: hidden;
    border-radius: 50%;
}
.shameblog_sub_text {
    width: 64px;;
    display: table-cell;
    vertical-align: middle;
    padding-right: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.shameblog_sub_name {
    font-size: 14px;
    overflow: hidden;
    padding-bottom: 3px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.shameblog_sub_3size {
    padding-bottom: 3px;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.movieimg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    object-fit: cover;
}
.widget-area .name {
    width: 100px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.syukkin_daysweek {
    display: block;
}
.week {
    text-align: center;
    padding-top: 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.week li {
    width: 70px;
    height: 70px;
    margin: 0 calc((100vw - 80px*4) / 8 - 1px );
    line-height: 14px;
    border-style: solid;
    border-width: 1px;
    font-size: 10px;
    cursor: hand;
    display: inline-block;
    border-color: #ccc;
    border-radius: 50%;
    vertical-align: middle;
    position: relative;
}
.pcwidgets-tab.active {
    background-color: #eaeaea;
}
.pcwidgets-tab {
    background-color: #fff;
}
.pcwidgets-tab {
    transition: background-color .5s ease,color .5s ease;
}
.week li span {
    width: 100%;
    display: inline-block;
    left: 0;
    text-align: center;
    font-size: 16px;
    line-height: 18px;
    padding-top: 4px;
}
.pcwidgets-tab.active>span {
    color: #e534b6 !important;
}
.pcwidgets-tab.active>span {
    color: #e534b6;
}
.pcwidgets-tab>span {
    color: #000;
}
.day {
    font-size: 14px;
}
.wday {
    font-size: 11px;
    line-height: 4px;
}
.girl {
    position: relative;
    text-align: left;
}
.syukkin_img > img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    object-fit: cover;
    border-radius: 50%;
    margin-bottom: 10px;    
}
.syukkin_img:before {
    content: "";
    display: block;
    padding-top: 100%;
}
.syukkin_name {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;	
}
.global_kuchikomi {
    width: 100%;
    text-align: left;
}
.global_kuchikomi > ul {
    margin: 20px 0 0 0;
    display: inline-block;
}
.global_kuchikomi > ul > li {
    margin: 0px 10px;
    padding-bottom: 20px;
    border-bottom: 1px dotted #ccc;
    padding-top: 10px;
    left: 0;
    position: relative;
    display: inline-block;
}
.kuchikomi_individual {
    font-size: 14px;
    position: relative;
    padding: 10px;
    display: inline-block;
    width: 100%;
    box-sizing: border-box;
    border-bottom: solid 1px #eee;
}
.direct_delivery_individual {
    font-size: 14px;
    position: relative;
    padding: 10px;
    display: inline-block;
    width: 100vw;
    box-sizing: border-box;
    border-bottom: solid 1px #eee;
}
.kuchikomi_profile {
    display: table-cell;
    width: 30vw;
    padding-right: 12px;
    vertical-align: top;
}
.review-average-star-icon.in_item {
    margin-top: 4px;
    float: left;
    width: 24px;
    height: 24px;
    vertical-align: bottom;
}
.review-average-star-icon.star_on {
    background-image: url(/img/shop/widget/star-fill.svg);
}
.review-average-star-icon.star_half {
    background-image: url(/img/shop/widget/star-half.svg);
}
.review-average-star-icon.star_off {
    background-image: url(/img/shop/widget/star-border.svg);
}
.review-average-star-icon {
    display: inline-block;
    width: 25px;
    height: 25px;
    vertical-align: bottom;
    background-size: cover;
    background-repeat: no-repeat;
}
.widget-area .total_rate {
    display: inline-block;
    padding-top: 7px;
    padding-left: 10px;
    color: #df9b56;
    font-size: 17px;
    font-weight: bold;
}
.review-item-title {
    display: inline-block;
    width: 100%;
    height: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
    white-space: nowrap;
    font-size: 18px;
    font-weight: bold;
    padding: 10px 0px;
    color: #fff;
}
.widget-area .review-item-text {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #fff;
    line-height: 18px;
    text-align: left;
}
.shopinfo1 {
    display: table;
    padding: 30px 0px;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
}
.shopinfo2 {
    display: table;
    padding: 30px;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
}
.review_next {
    right: 20px;
    bottom: 15px;
    position: absolute;
}
.shopinfo {
    text-align: center;
    margin: 40px;
}
.shopinfo-img {
    margin: 10px;
}
.shopdeta-info {
    text-align: center;
    line-height: 150%;
}
.shopdeta-info a {
    background-color: #5a5a5a;
    color: #fff;
    border: solid 1px #9d9d9d;
    padding: 6px;
    box-sizing: border-box;
    margin: 5px 0;
    border-radius: 5px;
    box-shadow: 2px 2px 5px #eee;
    position: relative;
    width: 70%;
    margin: 0 auto;
}
#main .shopdeta-info a{
    pointer-events: none;
}
#shopdata-left{
	text-align: center;
	margin-left: 0;
}
#shopdata-right{
	text-align: center;
	margin-right: 0;
}
.shopdeta-info a::before {
    content: ">";
    font-size: 14px;
    font-weight: bold;
    right: 20px;
    position: absolute;
}
.shopname {
    display: block;
    font-size: 14px;
    font-weight: bold;
    overflow: hidden;
    padding: 7px 0 0 0;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.shoparea {
    display: block;
    font-size: 10px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    text-align: left;
}
.shopindustry {
    width: 100%;
    display: inline-block;
}
.shoptel {
    width: 100%;
    font-size: 16px;
    font-weight: bold;
}
.shoptels {
    font-size: 16px;
    font-weight: bold;
}
.global_reserve {
    width: 100%;
    margin: 0 auto;
    text-align: left;
}
.reserve_calendar {
    display: block;
    background: #fff;
}
.p-booking-calendar__calendar-wrap {
    position: relative;
    margin-top: 0.5rem;
}
.p-booking-calendar__calendar-navi {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
}
.p-booking-calendar__calendar-navi-target.p-booking-calendar__calendar-navi-target--prev {
    left: 5px;
}
.p-booking-calendar__calendar-navi-target.is-disabled {
    cursor: default;
    color: #b4b4b4;
}
.p-booking-calendar__calendar-navi-target {
    appearance: none;
    display: block;
    position: absolute;
    top: 0;
    z-index: 1;
    cursor: pointer;
    padding: 5px;
    outline: none;
    border: none;
    color: #06c;
    background-color: #fff;
    font-size: 1.4rem;
}
.p-booking-calendar__calendar-navi-target.p-booking-calendar__calendar-navi-target--prev::before {
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    -webkit-font-smoothing: antialiased;
    text-transform: none;
    speak: none;
    content: "<";
}
.p-booking-calendar__calendar-navi-target.is-disabled::before, .p-booking-calendar__calendar-navi-target.is-disabled::after {
    color: #e1e1e1;
}
.p-booking-calendar__calendar-navi-target::before, .p-booking-calendar__calendar-navi-target::after {
    display: inline-block;
    color: #888;
    font-size: 24px;
    font-family: monospace;
}
.p-booking-calendar__calendar-navi-target>i {
    display: none;
}
.p-booking-calendar__calendar-navi-target.p-booking-calendar__calendar-navi-target--next {
    right: 5px;
}
.p-booking-calendar__calendar-navi-target.p-booking-calendar__calendar-navi-target--next::after {
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    -webkit-font-smoothing: antialiased;
    text-transform: none;
    speak: none;
    content: ">";
}
.p-booking-calendar__calendar-contents {
    position: relative;
    padding: 0 6px 10px 5px;
    border-bottom: 1px solid #eeece4;
    height: auto;
}
.p-booking-calendar__calendar {
    border-spacing: 0;
    border-collapse: collapse;
    width: 100%;
    box-sizing: border-box;
    table-layout: fixed;
}
.p-booking-calendar__calendar>caption {
    text-align: center;
    color: #595960;
    padding: 0.6rem 0 0.8rem;
    font-size: 11px;
}
caption, th {
    text-align: left;
}
.p-booking-calendar__calendar>caption>em {
    display: inline-block;
    font-weight: normal;
    font-family: Arial,sans-serif;
    margin-right: 0.2rem;
    font-size: 18px;
}
h1, h2, h3, h4, h5, h6, strong, b, .widget-area h2 {
    font-style: normal;
    font-weight: bold;
}
.p-booking-calendar__cell.p-booking-calendar__cell--sun, .p-booking-calendar__cell.p-booking-calendar__cell--holiday.p-booking-calendar__cell--holiday {
    color: #e64c30;
}
.p-booking-calendar__cell.p-booking-calendar__cell--sat {
    color: #3d90dd;
}
thead .p-booking-calendar__cell {
    text-align: center;
    vertical-align: middle;
    padding-bottom: 0.5rem;
    font-size: 14px;
}
.p-booking-calendar__cell {
    position: relative;
    text-align: center;
    font-size: 1.4rem;
}
tbody .p-booking-calendar__cell {
    font-weight: normal;
    vertical-align: middle;
    font-family: Arial,sans-serif;
    line-height: 1;
}
tbody .p-booking-calendar__cell.is-past {
    color: #cccccc;
}
.p-booking-calendar__day {
    display: block;
    box-sizing: border-box;
    color: inherit;
    text-align: center;
    height: 4.1rem;
}
.p-booking-calendar__day::before {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    content: '';
    border: solid 1px rgba(255,255,255,0);
    z-index: 0;
    width: 84%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    height: 4rem;
}
.p-booking-calendar__day-num {
    position: relative;
    z-index: 2;
    font-size: 14px;
}
.p-booking-calendar__day-num.p-booking-calendar__day-num--full::after {
    color: #b4b4b4;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    -webkit-font-smoothing: antialiased;
    text-transform: none;
    speak: none;
    content: "-";
    font-size: 16px;
}
.p-booking-calendar__day-num::after {
    position: absolute;
    left: 50%;
    top: 1.8rem;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}
.p-booking-calendar__day.p-booking-calendar__day.is-selectable {
    cursor: pointer;
}
.p-booking-calendar__day.p-booking-calendar__day.is-selectable.is-current::before {
    border-color: #fae486;
    background-color: #fefae6;
}
.p-booking-calendar__day.p-booking-calendar__day.is-selectable::before {
    border-color: transparent;
}
.p-booking-calendar__day-num.p-booking-calendar__day-num--enough::after {
    color: #fa0;
    content: "〇";
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    -webkit-font-smoothing: antialiased;
    text-transform: none;
    speak: none;
    font-size: 16px;
}
.p-booking-calendar__day-num::after {
    position: absolute;
    left: 50%;
    top: 1.8rem;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}
.p-booking-calendar__day-num.p-booking-calendar__day-num--closed::after {
    color: #b4b4b4;
    content: '休';
    speak: none;
    font-size: 14px;
}
.p-booking-calendar__select-wrap {
    position: relative;
    text-align: center;
    padding: 12px 20px 14px;
}
.p-booking-calendar__select+.p-booking-calendar__select {
    margin-top: 12px;
}
.p-booking-calendar__select {
    display: flex;
    align-items: center;
    width: 60%;
    margin: 0 auto;
}
.p-booking-calendar__select-label {
    box-sizing: border-box;
    font-weight: bold;
    text-align: left;
    padding-right: 30px;
    font-size: 13px;
}
.p-booking-calendar__select-item-inner {
    position: relative;
}
.p-booking-calendar__select-target {
    display: block;
    z-index: 0;
}
.c-select {
    display: inline-block;
    position: relative;
    border: 1px solid #d2d2d2;
    width: 100%;
    height: auto;
    overflow: hidden;
    vertical-align: middle;
    background-color: #fff;
}
.c-select>select, .c-select>input {
    display: block;
    position: relative;
    z-index: 1;
    cursor: pointer;
    outline: none;
    border: none;
    width: 100%;
    height: 2.4em;
    background-color: rgba(255,255,255,0);
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
    padding: 0 2.4rem 0 1.2rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 13px;
}
.c-select:after {
    display: block;
    position: absolute;
    z-index: 2;
    top: 50%;
    margin-top: -0.5em;
    color: #bcb08a;
    line-height: 1;
    pointer-events: none;
    right: 1.2rem;
    font-family: "Tabelog Glyph";
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    -webkit-font-smoothing: antialiased;
    text-transform: none;
    speak: none;
    content: "\f633";
}
.c-select>select>option, .c-select>input>option {
    color: #595960;
}
.rankingmark,
.pickupmark {
    position:absolute;
    top: 0;
    width: 20%;
    margin: 0 0 0 5px;
}
.newface_content {
    padding: 40px 0;
    margin: 0px auto 60px auto;
}
.newface_title {
    margin: 0 auto 20px auto;
    padding: 12px;
}
.delivery_title {
    margin: 0 auto 20px auto;
    padding: 12px;
}
.event_title {
    margin: 0 auto 20px auto;
    padding: 12px;
}
.ranking_title,
.pickup_title {
    margin: 0 auto 20px auto;
    padding: 12px;
}
.widget-area .newface {
    display: table-cell;
    margin: 15px auto;
    font-size: 0;
}
.direct_delivery {
    margin: 15px auto;
    font-size: 0;
}
.slide_content {
    padding: 40px 0;
    margin: 0px auto 60px auto;
}
.delivery_content {
    padding: 40px 0;
    margin: 0px auto 60px auto;
}
.event_content {
    padding: 40px 0;
    margin: 0px auto 60px auto;
}
.worktime_content {
    padding: 40px 0;
    margin: 0px auto 60px auto;
}
.shopinfo_content {
    padding: 40px 0;
    margin: 0px auto 60px auto;
}
.shameblog_content {
    padding: 40px 0;
    margin: 0px auto 60px auto;
}
.ranking div a img,
.pickup div a img {
    margin-bottom: 10px;
}
.ranking_content,
.pickup_content {
    padding: 40px 0;
    margin: 0px auto 60px auto;
}
.movie_content {
    padding: 40px 0;
    margin: 0px auto 60px auto;
}
.syukkin_content {
    padding: 40px 0;
    margin: 0px auto 60px auto;
}
.system_content {
    padding: 40px 0;
    margin: 0px auto 60px auto;
}
.kuchikomi_content {
    padding: 40px 0;
    margin: 0px auto 60px auto;
}
.map_content {
    padding: 40px 0;
    margin: 0px auto 60px auto;
}
.deliverylistbutton a {
    background-color: #333;
    color: #fff;
}
.eventlistbutton a {
    background-color: #333;
    color: #fff;
}
.worktimelistbutton a {
    background-color: #333;
    color: #fff;
}
.syukkinlistbutton a {
    background-color: #333;
    color: #fff;
}
.movielistbutton a {
    background-color: #333;
    color: #fff;
}
.deliverylistbutton a {
    background-color: #333;
    color: #fff;
}
.worktime_title {
    display: table;
}
.worktime_title > h2 {
    width: 47%;
    position: absolute;
    background-color: #333;
    box-sizing: border-box;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    color: #fff;
    padding: 36% 0px;
    height: 286px;
    margin: 0 7px 7px 7px;
}
.worktime {
    margin: 0 auto;
    font-size: 0;
    width: 100%;
}
.enroll_content {
    padding: 40px 0;
    margin: 0px auto 60px auto;
}
.enroll_title {
    margin: 0 auto 20px auto;
    padding: 12px;
}
.enroll {
    margin: 15px auto;
    font-size: 0;
    width: 100%;
    max-width: max-content;
    display: flex;
}
.enroll_individual {
    position: relative;
    margin: 10px 0px;
    display: inline-block;
    width: 20%;
    font-size: 12px;
    line-height: 17px;
    box-sizing: border-box;
    padding: 15px;
}
.enroll_individual > div > a {
    position: relative;
}
.enroll_individual > div > a:before {
    content: "";
    display: block;
    padding-top: 100%;
}
.enroll_individual > div > a > img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    object-fit: cover;
    border-radius: 50%;
    margin-bottom: 10px;
}
.worktime_individual {
    position: relative;
    margin: 0px 0px 7px 0px;
    display: inline-block;
    width: 50%;
    font-size: 12px;
    line-height: 17px;
    box-sizing: border-box;
    padding: 0 5px;
    max-height: 330px;
    height: 100%;
}
.worktime_individual:nth-child(1) {
    margin: 0 0 0 50%;
}
.shameblog_title {
    margin: 0 auto 20px auto;
    padding: 12px;
}
.shameblog_individual {
    font-size: 14px;
    position: relative;
    z-index: 2000;
    margin: 10px;
    display: inline-block;
    width: 14vw;;
    min-width: 120px;
    line-height: 17px;
    padding: 0px 7px;
}
.shameblog_img {
    height: 70px;
    overflow: hidden;
    border: 6px solid #fff;
    box-shadow: 1px 1px 3px #bbb;
}
.shameblog_minititle {
    font-size: 14px;
    padding: 10px 0 3px 0;
    box-sizing: border-box;
    font-weight: bold;
    word-break: break-all;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.shameblog_individual:nth-child(2n) {
    transform: rotate(1deg);
}
.shameblog_individual:nth-child(3n) {
    transform: rotate(0deg);
}
.shameblog_individual:nth-child(4n) {
    transform: rotate(-2deg);
}
.shameblog_individual:nth-child(5n) {
    transform: rotate(-1deg);
}
.movie_title {
    margin: 0 auto 20px auto;
    padding: 12px;
}
.moviename {
    margin: 3px 0 0 0 ;
}
.ranking_title,
.pickup_title {
    margin: 0 auto 20px auto;
    padding: 12px;
}
.ranking,
.pickup {
    font-size: 0;
    width: 100%
}
/* 補足説明が表示されない不具合対応 */
.ranking_title,
.pickup_title {
    font-size: 11pt;
}
/* 補足説明で斜体が設定できない不具合対応 */
.ranking03 .ranking_content .ranking_title em strong,
.pickup01 .pickup_content .pickup_title em strong,
.pickup03 .pickup_content .pickup_title em strong,
.richtext em strong,
.html em strong{
    font-style: italic;
}

.ranking_first,
.pickup_first {
    position: relative;
    display: inline-block;
    width: 100%;
    font-size: 12px;
    line-height: 17px;
    box-sizing: border-box;
    padding: 7px;
}
.ranking_second,
.pickup_second {
    position: relative;
    display: inline-block;
    width: 50%;
    font-size: 12px;
    line-height: 17px;
    box-sizing: border-box;
    padding: 7px;
}
.ranking_profile,
.pickup_profile {
    padding: 10px 0;
    display: table;
    width: 100%;
    box-sizing: border-box;
}
.ranking_numbox,
.pickup_numbox {
    display: table-cell;
    position: relative;
}
.rankingnumber1,
.pickupnumber1 {
    width: 70px;
    position: absolute;
    bottom: -15px;
}
.rankingnumber2,
.pickupnumber2 {
    width: 40px;
    position: absolute;
    bottom: -10px;
}
.ranking_prfbox1,
.pickup_prfbox1 {
    position: relative;
    padding: 0 0 0 80px;
    width: 280px;
    overflow: hidden;
}
.ranking_prfbox2,
.pickup_prfbox2 {
    position: relative;
    padding: 0 0 0 45px;
    width: 128.5px;
    overflow: hidden;
}
.rankingallicon,
.pickupallicon {
    display: none;
}
.syukkin_title {
    margin: 0 auto 20px auto;
    padding: 12px;
}
.widget-area .syukkin_individual {
    position: relative;
    margin: 5px 0;
    display: inline-block;
    width: 206px;
    font-size: 12px;
    line-height: 17px;
    box-sizing: border-box;
    padding: 10px;
}
.syukkin_img {
    position: relative;
}
.syukkin_profile {
    padding: 10px 0;
	width: 100%;
}
.system_title {
    margin: 0 auto 30px auto;
    padding: 12px;
}
.system {
    display: block;
    margin: 15px auto;
    width: 90%;
}
div.fee_system {
    overflow: auto;
    margin-top: 5px;
}
table.feesmart {
    margin: 5px;
    border-collapse: collapse;
    border-style: solid;
    border-width: 1px;
    width: 97%;
    background: #ffffff;
}
table.feesmart td {
    border-style: solid;
    border-width: 1px;
    color: #000000;
    padding: 5px;
    border-color: #aaa;
    word-break: break-all;
}
label.feetitle {
    color: #ffffff;
    font-weight: bold;
}
td.feetitle {
    text-align: center;
    background: #aaa;
}
.kuchikomi_title {
    margin: 0 auto 30px auto;
    padding: 12px;
}
.widget-area .kuchikomi {
    display: table;
    margin: 15px auto;
    font-size: 0;
}
.global_kuchikomi > .area > ul > li {
    width: 355px;
    height: 355px;
    -moz-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
    position: relative;
    font-size: 13px;
    display: inline-block;
    box-sizing: border-box;
    vertical-align: middle;
    margin: 0 10px 10px 10px;
    overflow: hidden;
}
.global_kuchikomi > .area > ul > li > a {
    height: 100%;
}
.kuchikomi_profile > .girls-img {
    position: absolute;
    width: 100%;
    height: 355px;
    overflow: hidden;
    box-sizing: border-box;
}
.girls-info {
    text-align: center;
    padding: 3px 0px;
    display: none;
}
.kuchikomi_box {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 25% 30px;
    box-sizing: border-box;
    background-color: rgb(0 38 109 / 75%);
}
.kuchikomi_box .shopname,
.kuchikomi_box .shoparea {
    color: #fff;
}
.review-item-star {
    vertical-align: middle;
    height: 30px;
}
.star {
    float: left;
}
.reserve_content {
    background-color: rgba(255,156,56,1);
    position: fixed;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    right: 0px;
    bottom: 15px;
    display: table;
    box-shadow: 3px 3px 5px rgb(0 0 0 / 0.50);
    border: 4px solid #fff;
    z-index: 1000;
}
.reserve_box {
    display: table-cell;
    vertical-align: middle;
}
.reserve_box h2 {
    color: #fff !important;
    font-size: 12px;
}
.reservelistbutton {
    text-align: center;
    display: block;
    margin: 5px 0 0 0;
}
.reservelistbutton a {
    background-color: #d47f29;
    color: #fff;
    padding: 7px 10px;
    display: inline-block;
}
.girlsrecruit_content {
    padding: 40px 0;
    margin: 0px auto 60px auto;
    background-color: #fff1f5;
}
.grtitle {
    color: #F69 !important;
    margin: 0 auto 30px auto;
    padding: 12px;
}
.widget-area .global_girlsrecruit h4{
    font-style: normal;
    font-weight: bold;
    font-size: unset;
    background: unset;
    text-indent: unset;
    line-height: unset;
    height: unset;
    background-size: unset;
    background-position: unset;
}
.widget-area .global_girlsrecruit {
    padding: 24px 15px;
    color: #545454;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
}
.widget-area .girlsrecruit {
    width: 100%;
    font-size: 0;
}
.girlsrecruit_movie {
    max-width: 100%;
    padding: 0;
    box-sizing: border-box;
}
.girlsrecruit_details {
    width: 100%;
    vertical-align: top;
    box-sizing: border-box;
    font-size: 14px;
    background-color: #fff;
    padding: 20px;
    margin: 5px 0 0 0;
}
.girlsrecruit_box {
    margin: 0 0 10px 0;
    overflow-wrap: break-word;
}
.girlsrecruit_box ul li {
    margin: 4px 0;
    display: table;
    transition: none;
    opacity: 1;
    word-break : break-all;
}
.girlsrecruit_box .box_text{
    width: 239px;
}
.box_title {
    display: table-cell;
}
.box_title span {
    width: 65px;
    text-align: center;
    padding: 2px 0px;
    background-color: #545454;
    margin: 0 6px 0 0;
    color: #fff;
    display: block;
    border-radius: 2px;
}
.boysrecruit_content {
    padding: 40px 0;
    margin: 0px auto 60px auto;
    background-color: #f1fcff;
}
.bytitle {
    color: #07caff !important;
    margin: 0 auto 30px auto;
    padding: 12px;
}
.global_boysrecruit {
    padding: 24px 15px;
    color: #545454;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
}
.widget-area .global_boysrecruit h4{
    font-style: normal;
    font-weight: bold;
    font-size: unset;
    background: unset;
    text-indent: unset;
    line-height: unset;
    height: unset;
    background-size: unset;
    background-position: unset;
}
.boysrecruit_details {
    width: 100%;
    vertical-align: top;
    box-sizing: border-box;
    font-size: 14px;
    background-color: #fff;
    padding: 20px;
    margin: 5px 0 0 0;
}
.boysrecruit_box {
    margin: 0 0 10px 0;
}
.boysrecruit_box ul li {
    margin: 4px 0;
    display: table;
    transition: none;
    opacity: 1;
}
.treatment {
    width: 100%;
    color: #fff;
    border: 1px solid #E1D6C2;
    background-color: #fff;
    display: table;
    box-sizing: border-box;
}
.treatment_title {
    text-align: center;
    font-weight: bold;
    color: #fff;
    background-color: #6b7380;
    display: table-cell;
    font-size: 14px;
    vertical-align: middle;
    box-sizing: border-box;
    width: 6%;
}
.treatment ul {
    padding: 5px 0 0 10px;
    display: table;
}
.benefits {
    border: 1px solid #ff8b38;
    background: #ff8b38;
    color: #FFF;
    border-radius: 3px;
    padding: 0px 3px 0px 3px;
    margin-right: 5px;
    margin-bottom: 5px;
    font-size: 11px;
    line-height: 17px;
    height: 15px;
    display: inline-block;
}
.off {
    border: 1px solid #AAA;
    background: #FFF;
    color: #AAA;
    border-radius: 3px;
    padding: 0px 3px 0px 3px;
    margin-right: 5px;
    margin-bottom: 5px;
    font-size: 11px;
    line-height: 17px;
    height: 15px;
    display: inline-block;
}
.map_title  {
    margin: 0 auto 30px auto;
    padding: 12px;
}
.map_box {
    position: relative;
}

#shopmap_text {
    display: table;
    width: 100%;
    height: 100%;
}
.shopmap_textsub {
    display: table-cell;
    height: 100%;
    background-color: rgb(0 0 0 / 0.6);
    color: #fff;
    vertical-align: middle;
    padding: 30px;
    box-sizing: border-box;
    font-size: 12px;
}
.shop_name01 {
    margin: 0 0 10px 0;
}
.maptitle {
    margin-left: -9px;
}
.shop_info_text {
    margin: 0;
    padding: 0;
    white-space: normal;
    max-width: 500px;
}
.direct_event {
    width: 100%;
    margin: 0 auto;
    text-align: left;
}
.direct_event > ul {
    margin: 20px 0 0 0;
    display: block;
}
.direct_event > ul > li {
    width: 100%;
    margin: 0;
    padding: 10px 15px 5px 15px;
    -moz-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
    box-sizing: border-box;
	display: flex;
	align-items: center;
    border-bottom: dotted 2px #ccc;
}
.direct_event_img {
    display: inline-block;
    width: 120px;
    margin-right: 15px;
    overflow: hidden;
    height: 120px;
    border-radius: 50%;
    margin:0;
    vertical-align: middle;
}
.direct_event_img a img {
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    max-width: 100%;
}
.direct_event_details {
    width: 100%;
    margin: 0 0 0 10px;
	overflow: hidden;
    /* display: inline-block;
    vertical-align: middle; */
}
.direct_event_ourselves {
    margin-right: 10px;
    padding: 0 10px;
    float: left;
    display: inline-block;
    color: #fff;
    line-height: 16px;
    display: block;
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 2px;
    min-width: 85px;
    text-align: center;
    background: #03A9F4;
}
.direct_event_date {
    line-height: 20px;
    font-size: 11px;
    font-weight: bold;
}
.event_link{
	width: 100px;
	height: 100px;
	overflow: hidden;
}
.direct_event_text {
    line-height: 1.5;
    text-align: justify;
    padding-top: 4px;
    margin-bottom: 10px;
    font-size: 16px;
    display: block;
    font-weight: bold;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
.direct_event_details > p > a {
    color: #000;
}
/* 予約 */
.yoyaku03.yoyaku-widget{
    position: fixed!important;
    top: unset!important;
    left: unset!important;
    bottom: 0px;
    right: 15px;
    z-index: 1000;
    width: 120px!important;
    height: 120px!important;
}
.yoyaku03 .content_box.reserve_content {
    margin: 0;
}
.yoyaku03 .widget-area .listbutton.reservelistbutton {
    text-align: center;
    display: block;
    margin: 5px 0 0 0;
}
.yoyaku03 .widget-area .listbutton.reservelistbutton a {
    background-color: #d47f29;
    color: #fff;
    padding: 7px 10px;
    display: inline-block;
}

/**
 * style.css(モックアップより)
 */

/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:0 0;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type="button"]{-webkit-appearance:button}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}[hidden],template{display:none}


/**
 * ベースカラー設定
 */
body {
  font-family: '游ゴシック', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', Sans-Serif;
  color: #424242;
}
a:hover {color: #64b5f6;}

/**
 * 共通スタイル
 */
.l-wrapper {
  padding-bottom: 50px;
}

.c-container {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
  padding: 0 15px;
}

.l-header-inner {
  display: flex;
  justify-content: space-between;
  padding-top: 10px;
  padding-bottom: 10px;
}

.l-header-logo,
.l-header-logo a { font-size: 2.0rem; text-decoration: none; }
.l-header-logo a:hover { text-decoration: underline; color: #2196f3; }

@media (min-width: 1024px) {
  .l-header-logo,
  .l-header-logo a { font-size: 3.2rem; }
}

/**
 * ユーティリティー
 */

.u-fs-10 { font-size: 10px !important; }
.u-fw-b, .bold { font-weight: 700 !important; }
.u-ta-r, .tright, .t-right { text-align: right !important; }
.u-ta-l, .tleft, .t-left { text-align: left !important; }
.u-ta-c, .tcenter, .t-center { text-align: center !important; }

.u-lh-1 { line-height: 1 !important; }
.u-lh-xs { line-height: 1.2 !important; }
.u-lh-sm { line-height: 1.4 !important; }
.u-lh-md { line-height: 1.8 !important; }
.u-lh-lg { line-height: 2.0 !important; }
.u-lh-xl { line-height: 2.2 !important; }

.u-d-n,
.u-d-n-xs { display: none !important; }

.u-d-i,
.u-d-i-xs { display: inline !important; }

.u-d-b,
.u-d-b-xs { display: block !important; }

.u-mt-xs, .s-mt1em { margin-top: 1em !important; }
.u-mb-sm, .u-mb1em { margin-bottom: 1em !important; }
.u-mb-md, .u-mb15em { margin-bottom: 1.5em !important; }
.u-mb-lg, .u-mb2em { margin-bottom: 2.0em !important; }
.u-mb-xl, .u-mb3em { margin-bottom: 3.0em !important; }
.u-mb15 { margin-bottom: 15px !important; }
.u-mb20 { margin-bottom: 20px !important; }
.u-mb30 { margin-bottom: 30px !important; }
.u-mb40 { margin-bottom: 40px !important; }
.u-mb50 { margin-bottom: 50px !important; }

@media (min-width: 544px) {
  .u-d-n-sm { display: none !important; }
  .u-d-i-sm { display: inline !important; }
  .u-d-b-sm { display: block !important; }
}

@media (min-width: 768px) {
  .u-d-n-md { display: none !important; }
  .u-d-i-md { display: inline !important; }
  .u-d-b-md { display: block !important; }
}

@media (min-width: 992px) {
  .u-d-n-lg { display: none !important; }
  .u-d-i-lg { display: inline !important; }
  .u-d-b-lg { display: block !important; }
}

@media (min-width: 1200px) {
  .u-d-n-xl { display: none !important; }
  .u-d-i-xl { display: inline !important; }
  .u-d-b-xl { display: block !important; }
}

div.global_syukkin {
  overflow-y: hidden;
  overflow-x: auto;
}
.movielistbutton a {
  color: #fff;
  font-size: 13px;
}
.movielistbutton a:hover {
  color: #64b5f6;
}

#main-area {
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
}
#main-container {
    width: 1200px;
    position: relative;
}
@supports (-webkit-line-clamp: 3) {
    .box_text span {
        display: -webkit-box;
        overflow: hidden;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        line-height: 1.8;
    }
}
_:lang(x)+_:-webkit-full-screen-document, body {
    background-attachment: scroll !important;
    background-repeat: repeat !important;
}
body:not([data-page-no]) div[id*="api-widget-"]:not(.yoyaku) {
    overflow: hidden;
}
/* useragent style sheet 対策 */
body:not([data-page-no]) div[id*="api-widget-"]:not(.yoyaku) table{
    line-height: 1.231;
}
.booking-widget,
.system-widget {
    text-align: center;
    padding: 10px 0;
}
.system-widget > .shopname {
    text-align: center;
    white-space: normal;
}
.system-widget > .shoparea {
    text-align: center;
}

/* バースデー */
.birthday_title {
    margin: 0 auto 5px auto;
    padding: 12px 0;
}
.birthday .clearfix {
    display: block;
}
.birthday-row {
    display: block;
    border-bottom: solid 1px #ccc;
    margin: 0 0 20px 0;
    padding: 0 0 10px 0;
}
.today, .this-month {
    display: block;
    vertical-align: middle;
    margin: 0 6px 0 0;
}
.birthday-row .label, .birthday-row .count {
    color: #f45;
    font-weight: 700;
    margin: 0;
    vertical-align: middle;
    display: inline-block;
}
.count.bold {
    font-size: 20px;
}
.birthday-row .label.unit {
    color: #000;
}
.cast-wrapper {
    overflow: hidden;
    margin: 0;
    display: inline-block;
    vertical-align: middle;
    font-size: 0;
}
.cast-wrapper a {
    display: inline-block;
    margin: 0 6px 0 0!important;
}
.cast-wrapper .cast {
    width: 90px;
    display: inline-block;
    overflow: hidden;
    height: 90px;
}
.cast-wrapper .cast img {
    width: 100%;
    vertical-align: top;
}
.birthday_profile {
    display: block;
    font-size: 12px;
    margin: 5px 0 0 0;
    width: 90px;
}
.birthday_profile .name {
    width: 100%;
    display: inline-block;
    font-size: 12px;
}

/* 店内ビュー */
.indoor_title {
    margin: 0 auto 5px auto;
    padding: 12px 0;
}

/* すぐナビ */
.sugunavi_title {
    margin: 0 auto 5px auto;
    padding: 12px 0;
}
.sugunavibox {
    padding: 0 0 7px 0;
    border-bottom: solid 1px #ccc;
}
div.sugunavi_content .title {
    background-color: transparent;
    text-align: left;
    float: left;
    width: 80px;
    margin: 0;
    padding: 0;
}
div.sugunavi_content .text {
    text-align: left;
}

/* マーキー */
.marquee {
    overflow: hidden;
    position: relative;
}
.marquee::after {
    content: "";
    white-space: nowrap;
    display: inline-block;
    height: 1.231em;
}
.marquee > .marquee-inner {
    position: absolute;
    top: 0;
    white-space: nowrap;
    animation-name: marquee;
    animation-timing-function: linear;
    animation-duration: 20s;
    animation-iteration-count: infinite;
}
.marquee > .marquee-inner:hover {
    animation-play-state: paused;
    cursor: default;
}
@keyframes marquee {
    0% { left: 100%; transform: translate(0); }
    100% { left: 0; transform: translate(-100%); }
}
/* END マーキー */

img.creditcard {
    vertical-align: top;
}

#failure-info {
    position: fixed;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.9);
    bottom: 0;
    padding: 25px;
    box-sizing: border-box;
    /*z-index: 9999;*/
    z-index: 1000;
}
#failure-info span {
    font-size: 14px;
    font-weight: bold;
    color: red;
    text-align: center;
    width: 100%;
    display: block;
}

/* 店舗情報用 */
.shop-info03 .content_box {
    margin: 0;
    padding: 0;
}
.shop-info03 .shopinfo2 {
    padding: 0;
}
.sp-tel-button-area {
    background-color: #333333;
    bottom: 0;
    display: flex;
    height: 50px;
    justify-content: center;
    align-items: center;
    width: 100%;
    position : fixed;
    z-index: 999;
}
.sp-tel-button-link {
    background-color: #EEEEEE;
    border-radius: 100vh;
    color: #000000;
    font-weight: bold;
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 25px;
    padding-right: 25px;
}
.sp-tel-button-link:hover {
    color: #000000;
    text-decoration: none;
}

/* フリースペース */
.freespace_title {
    margin: 0 auto 30px auto;
    padding: 12px;
}
.freespace_box .list-home {
    font-size: 15px;
    overflow: hidden;
}
.freespace_box .list-home li {
    border-bottom: 1px dotted #333;
    text-decoration: none;
}
.freespace_box .list-home li a {
    color: #333;
    height: 43px;
    line-height: 43px;
    overflow: hidden;
    padding: 0 30px 0 5px;
    text-overflow: ellipsis;
}
.topic_title h1{
    height: auto;
}
.topic_title{
    padding-bottom: 3px;
}
.topic_pic_url{
    padding-top: 3px;
}
.topic_pic_caption{
    padding-bottom: 3px;
}
.topic_body{
    padding-top: 3px;
}
/* メイン動画バナー */
/*一律で.content_boxにmargin: 30px 0が指定されていたのでメイン動画バナーのみ除外 */
.main-movie03 > .content_box {
    margin: 0 auto;
}

/* お問い合わせフォーム用 */
.inquiry .inquiry-input-form-area {
    width: 100%;
}
/* 説明文 */
.inquiry .inquiry-description {
    margin-bottom: 5px;
    text-align: center;
    width: 100%;
}
/* 各li要素の縦並びと余白調整 */
.inquiry .inquiry-input-form-area li {
    display: flex;
    flex-direction: column;
    margin-bottom: 5px;
}
/* 各項目名の文字装飾と余白調整 */
.inquiry .inquiry-input-form-area li label {
    font-weight: bold;
    margin-bottom: 2px;
}
/* メール送信ボタン */
.inquiry .btn-send-mail {
    margin-top: 5px;
    height: 30px;
}
/* 完了時メッセージエリア */
.inquiry .inquiry-end-message-area {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
}
/* 完了時メッセージ */
.inquiry .inquiry-end-message {
    flex-grow: 1;
    overflow-y: auto;
    text-align: center;
}
/* 続けて問い合わせボタン */
.inquiry .btn-continue-inquiry {
    height: 30px;
    width: 100%;
}