@charset "utf-8";
/* CSS Document */
/*共通*/
* {
    font-family: helvetica, arial, sans-serif;
    -webkit-text-size-adjust: 100%;
}
.red {
    color: red !important;
    font-weight: bold;
}
.orange {
    color: #f78100;
}
.gray {
    color: #a7a2a2;
}
.panel {
    display: block;
    width: 100%;
    position: absolute;
    top: 0;
    padding-top: 55px;
}
.beige {
    background-color: #f9f8f4;
    height: 45px !important;
    line-height: 45px !important;
    position: relative;
}
.brown {
    background-color: #ece9da;
    line-height: 20px;
    height: 20px;
}
li:after,
div.half_list:after {
    content: "";
    clear: both;
    display: block;
}
.clearfix:after {
    content: "";
    clear: both;
    display: block;
}
a {
    color: #222;
}
a {
    display: inline-block;
    vertical-align: middle;
}
a img{pointer-events: none;}
.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}
.fa-check-square.selected {
    color: red;
}
li#reservation i.fa-check-square {
    color: #d9d9d9;
    font-size: 35px;
}
li#reservation .check.select i {
    color: rgb(158, 208, 42);
}
li#reservation .check.disable {
    color: rgb(217, 217, 217);
    cursor: auto;
}
li#reservation .check.disable i {
    opacity: 0.5;
}
li#station li#reservation div.check {
    line-height: 45px;
}
.arrow {
    background: url(../img/arrow.png?imgopt=y)no-repeat;
    background-position: 98% center;
    background-size: 10px;
}
.check {
    cursor: pointer;
}

/*ヘッダー*/
.headerFixed {
    background-color: #fff;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 3;
    -webkit-transform: translate3d(0, 0, 0);
    border-bottom: 1px solid #999;
    box-shadow: 0 1px 0 #ccc;
    position: fixed;
}
.headerFixed #header {
    padding: 0;
    line-height: 1;
}
.headerFixed #header .headerLeft {
    float: left;
    padding-left: 5px;
}
.headerFixed #header .headerLeft .logo {
    float: left;
}
.headerFixed #header .headerLeft .logo a {
    height: 37px;
    padding: 5px 0;
    display: block;
}
.headerFixed #header .headerLeft img {
    max-width: 100%;
    vertical-align: top;
}
.headerFixed #header .headerRightLogin {
    float: right;
    text-align: right;
    padding: 5px;
}
.headerFixed #header .headerRightLogin li {
    font-size: 10px;
    vertical-align: middle;
}
.headerFixed #header .headerRightLogin .user {}
.headerFixed #header .headerRightLogin .myHeaven a {
    display: block;
    text-align: center;
    height: 27px;
    font-weight: 700;
    position: relative;
    padding: 2px 8px 0;
    color: #fff;
    top: 1px;
    background-color: #d00;
    border-radius: 5px;
}
.myHeaven img {
    width: 20px;
    position: relative;
    top: 5px;
}

/*トップページ*/
#index h2 {
    text-align: center;
    border-bottom: 4px solid #087dfe;
    height: 42px;
    line-height: 42px;
}
div.active {
    display: block;
}
#index ul.list {
    padding-bottom: 80px;
}
#index ul li.searchbyname{
    background-color: #f9f8f4;
    border-bottom: 1px solid #c2c2b6;
    font-weight: bold;
    font-size: 15px;
    height: 80px;
    line-height: 60px;
    padding: 0px 10px;
    clear: both;
}
div.searchbyname{
    margin-top: -35px;
}
input#search_keyword{
    width: 100%;
    height: 25px
}
#index ul li:not(.brown):not(.searchbyname) {
    border-bottom: 1px solid #c2c2b6;
    font-weight: bold;
    font-size: 15px;
    height: 45px;
    line-height: 45px;
    padding: 0px 10px;
    clear: both;
}
ul li.brown {
    line-height: 40px;
    height: 40px;
    font-size: 0.9em;
    color: #7B6E4E;
    font-weight: bold;
    border-bottom: 1px solid #c2c2b6;
    padding: 0 10px;
}
#index ul li.check.girl_recruit .fa.db {
    margin-right: 160px;
}
#index ul li a {
    display: block;
    color: #343532;
    width: 100%;
    height: 100%;
}
#index ul li span.none-specified {
    font-size: 12px;
    float: right;
    font-weight: normal;
    padding-right: 22px;
    margin-right: 10px;
    color: #B6BCC2;
    background: url(../img/arrow.png?imgopt=y)no-repeat;
    background-position: center right;
    background-size: 10px;
}
#index ul li.searchwindow {
    padding: 10px 10px;
    position: relative;
}
#index ul li.searchwindow input {
    border: 1px solid #c2c2b6;
    border-radius: 5px;
    padding: 5px 5px 5px 32px;
    height: 40px;
    position: relative;
    font-size: 14px;
    box-shadow: 0 0 0px 1px #c2c2b6;
    line-height: 22px;
    box-sizing: border-box;
    width: 100%;
;
}
#index ul li.searchwindow:after {
    display: inline-block;
    font-family: FontAwesome;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\f002";
    margin-right: 5px;
    position: absolute;
    color: #c2c2b6;
    left: 20px;
    top: 32px;
    line-height: 1;
}
#index ul li.searchwindow img {
    float: right;
    text-align: right;
    height: auto;
    padding: 14px 5px;
    max-height: 33px;
    max-width: 33px;
}
#index ul li.pull-down p {
    float: right;
    margin-right: 10px;
}
#index ul li.pull-down form {
    margin-right: 10px;
    float: right;
    width: 30%;
}
#index ul li.pull-down select {
    width: 100%;
    padding: 3px 10px;
    border-color: #c2c2b6;
    font-size: 14px;
}
#index ul li .fa {
    color: #d9d9d9;
    float: right;
    line-height: 45px;
    margin-right: 8px;
    font-size: 24px;
}
#index footer {
    font-size: 14px;
    position: fixed;
    bottom: 0;
    width: 100%;
    padding-top: 10px;
    background-color: #fff;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
    padding-bottom: 10px;
    text-align: center;
}
#index footer a {
    display: inline-block;
}
#index footer .left {
    padding-left: 2%;
    width: 65%;
    float: left;
}
#index footer .right {
    text-align: right;
    width: 24%;
    float: left;
    padding-right: 2%;
    padding-left: 2%;
}
#index footer .rigth p {}
#index footer .top {
    margin-bottom: 10px;
    font-size: 12px;
}
#index footer .top span {
    font-size: 24px;
}
#index footer .bottom span {
    font-size: 11px;
    padding: 3px 3px;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border: 1px solid #f78100;
    background: -moz-linear-gradient(top, #fff, #EFEFEF);
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#EFEFEF));
}
.thistenpo {
    position: absolute;
    margin-left: 10px;
    left: auto;
    right:60px;
    top: 18px;
    font-size: 11px;
    background: orange;
    line-height: 1em;
    color: white;
    padding: 2px 4px;
    border-radius: 5px 0;
}
.thistenpo:after,
.thistenpo:before {
    content: "●";
    position: absolute;
    top: 6px;
    left: -3px;
    color: orange;
    font-size: 15px;
}
.thistenpo:after {
    top: 10px;
    left: -7px;
    font-size: 11px;
}
#curloc {
    position: absolute;
    top: 17px;
    left: 110px;
    line-height: 20px !important;
    padding: 1px 10px;
    font-size: 11px;
    color: red;
    background-color: white;
    border: 1px solid #ccc;
    border-radius: 3px;
    cursor: pointer;
}
#curloc .gpsicon {
    width: 15px;
    vertical-align: middle;
    position: relative;
    left: -3px;
}
/* 検索フォームからの検索画面 */
#name_shop ul.list li.searchwindow input {
    border: 1px solid #c2c2b6;
    border-radius: 5px;
    width: 85%;
    height: 40px;
    position: relative;
    font-size: 14px;
    box-shadow: 0 0 0px 1px #c2c2b6;
    line-height: 22px;
    box-sizing: border-box;
    padding: 5px 15px;
    margin: 3% 7%;
}
#name_shop ul.list li.target {
    padding: 10px;
    line-height: 1em;
}
#name_shop ul.list li.target>div {
    display: inline-block;
    background-color: #E6E6D3;
    border-radius: 5px;
    line-height: 1em;
    padding: 7px;
    height: auto;
    font-size: 0.9em;
    margin-bottom: 10px;
    margin-right: 5px;
}
p#result_count{
    height: 6px;
}

/*駅検索*/
a.toggle>span {
    background-color: #c2c2b6;
    border-radius: 10px;
    padding: 0px 1px;
    margin-right: 10px;
    color: white;
    box-shadow: 1px 1px 0 #ccc;
    font-size: 12px;
}
.panelbox {
    display: none;
    transition-duration: 300ms;
    -webkit-transition-duration: 300ms;
    -moz-transition-duration: 300ms;
    transform: translateX(0);
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    padding-bottom: 230px;
}
.panelbox.active {
    display: block;
}
#station h2 {
    text-align: center;
    border-bottom: 4px solid #087dfe;
    height: 50px;
    line-height: 50px;
    font-size: 16px;
}
#station .togglebox {
    border: 1px solid #c2c2b6;
    box-sizing: border-box;
    display: none;
    background: #f9f8f4;
    box-shadow: 0px 0px 2px #504E46 inset;
}
#station .togglebox a {
    padding-left: 35px;
    display: block;
    border-bottom: 1px solid #E9EBEF;
    font-size: 0.9em;
    font-weight: 100;
    box-sizing: border-box;
}
div.active {
    display: block;
}
#station ul.portal_list {
    box-sizing: border-box;
    padding: 20px;
}
#station ul.portal_list>li {
    box-sizing: border-box;
;
    width: 50%;
    padding: 5px 5px;
    float: left;
}
#station ul.portal_list>li>a {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    display: inline-block;
    float: left;
    padding: 25px 10px;
    border-radius: 5px;
    box-shadow: 0 0 0 2px #999999 inset;
    border: 1px solid #ccc;
    background: -webkit-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
}
#station ul.list {}
#station ul.list>li {
    clear: both;
    padding: 0;
    line-height: 20px;
    font-size: 16px;
    font-weight: bold;
    border-bottom: 1px solid #c2c2b6;
}
#station ul.setlist>li {
    clear: both;
    padding: 0;
    line-height: 20px;
    font-size: 16px;
    font-weight: bold;
    border-bottom: 1px solid #c2c2b6;
}
#station ul.list>li.brown {
    line-height: 25px;
    height: 25px;
    font-size: 0.9em;
    color: #97917B;
    font-weight: bold;
    padding: 0 10px;
}
#station ul.list>li.check {
    padding: 0 10px;
}
#station ul.list>li.list_title {
    background-color: #ece9da;
    padding-left: 10px;
    font-size: 0.9em;
    line-height: 25px;
    color: #97917B;
}
#station ul.list>li.set {
    text-align: center;
    margin: 0 auto;
    width: 100%;
    background: #f9f8f4;
    line-height: 2.8em;
}
#station ul.setlist>li.set {
    text-align: center;
    margin: 0 auto;
    width: 100%;
    background: #f9f8f4;
    line-height: 2.8em;
}
#station ul.list>li>a {
    display: block;
    color: #343532;
    width: 100%;
    height: 100%;
    padding: 15px 10px;
    box-sizing: border-box;
}
#station ul.list>li>a.rt_disable {
    color: #bbbbbb;
}
.content ul li.rt_disable {
    color: #bbbbbb;
}
#station ul.setlist>li>a {
    display: block;
    color: #343532;
    width: 100%;
    height: 100%;
    padding: 15px 10px;
    box-sizing: border-box;
}
#station ul.setlist>li>a {
    display: block;
    color: #343532;
    width: 100%;
    height: 100%;
    padding: 15px 10px;
    box-sizing: border-box;
}
#station ul.list>li>a.radius {
    border-radius: 5px;
    border: 1px solid #C2C2B6;
    box-sizing: border-box;
    margin: 10px auto;
    width: 95%;
    background-color: #F3F3F3;
    color: #7B6E4E;
    padding: 0 10px;
}
#station ul.list>li>a.set_add,
#station ul.list>li>a.set_clear {
    border: 1px solid #E4E4E4;
    display: inline-block;
    border-radius: 5px;
    margin: 8px 2px 7px;
    box-sizing: border-box;
    line-height: 2.5em;
    font-size: 0.9em;
    box-shadow: 1px 1px 1px 0px rgba(0, 0, 0, 0.1);
    padding: 0 10px;
}
#station ul.setlist>li>a.set_add,
#station ul.setlist>li>a.set_clear {
    border: 1px solid #E4E4E4;
    display: inline-block;
    border-radius: 5px;
    margin: 8px 2px 7px;
    box-sizing: border-box;
    line-height: 2.5em;
    font-size: 0.9em;
    box-shadow: 1px 1px 1px 0px rgba(0, 0, 0, 0.1);
    padding: 0 10px;
}
#station ul.list>li>a.set_add {
    width: 70%;
    background: #639ED2;
    color: white;
    border-color: #5688B5;
}
#station ul.setlist>li>a.set_add {
    width: 70%;
    background: #639ED2;
    color: white;
    border-color: #5688B5;
}
#station ul.list>li>a.set_add>.fa {
    font-size: 14px;
    line-height: normal;
    color: white;
    float: none;
}
#station ul.list>li>a.set_clear {
    width: 20%;
    background: white;
}
#station ul.setlist>li>a.set_clear {
    width: 20%;
    background: white;
}
#station ul.list>li .search_word {
    width: 98%;
    padding: 8px 5px;
    box-sizing: border-box;
    border: 2px solid #c2c2b6;
    margin: 5px 1%;
    border-radius: 5px;
    display: block;
}
#station ul.setlist>li .search_word {
    width: 98%;
    padding: 8px 5px;
    box-sizing: border-box;
    border: 2px solid #c2c2b6;
    margin: 5px 1%;
    border-radius: 5px;
    display: block;
}
#station ul.list>li .small {
    font-size: 0.8em;
    color: #ccc;
}
#station ul li .fa {
    color: #d9d9d9;
    float: right;
    line-height: 48px;
    margin-right: 8px;
    font-size: 35px;
}
#station ul li .fa.fa-cog {
    float: none;
    position: relative;
    top: 0px;
    color: #999;
    vertical-align: middle;
}
#station footer {
    font-size: 14px;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    padding-top: 7px;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.6);
    padding-bottom: 5px;
    text-align: center;
    box-sizing: border-box;
    border-radius: 2px 2px 0 0;
}
#station footer a {
    display: block;
}
#station footer .left {
    display: inline-block;
    box-sizing: border-box;
    vertical-align: middle;
;
}
#station footer .right {
    width: 30%;
    display: inline-block;
    box-sizing: border-box;
    vertical-align: top;
    margin-left: 2%;
}
#station footer .rigth p {}
#station footer .top {
    font-size: 12px;
}
#station footer .top span {
    font-size: 28px;
}
#station footer .bottom {
    top: 6px;
    vertical-align: middle;
    position: relative;
}
#station footer .bottom span {
    font-size: 11px;
    padding: 0px 3px;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border: 1px solid #f78100;
    background: -moz-linear-gradient(top, #fff, #EFEFEF);
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#EFEFEF));
    min-width: 92px;
    line-height: 25px;
;
    display: inline-block;
}
.checklist input[type=checkbox] {
    display: none;
}
.checklist input[type=checkbox]:checked + .checkbox:before {
    opacity: 1;
}
.checklist .checkbox {
    box-sizing: border-box;
    -webkit-transition: background-color 0.2s linear;
    transition: background-color 0.2s linear;
    position: relative;
    vertical-align: middle;
    cursor: pointer;
    margin: 0 0px 2px 0;
    padding: 5px 0px 1px 44px;
    display: inline-block;
    font-size: 13px;
    width: 100%;
}
.checklist .checkbox:before {
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    position: absolute;
    top: 50%;
    left: 20px;
    display: block;
    margin-top: -5px;
    width: 5px;
    height: 9px;
    border-right: 3px solid #91C026;
    border-bottom: 3px solid #91C026;
    content: '';
    opacity: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.checklist .checkbox:after {
    -webkit-transition: border-color 0.2s linear;
    transition: border-color 0.2s linear;
    position: absolute;
    top: 50%;
    left: 15px;
    display: block;
    margin-top: -7px;
    width: 14px;
    height: 14px;
    content: '';
    border: 2px solid #bbb;
}
div.gyousyu {
    box-sizing: border-box;
    margin: 15px auto;
    text-align: center;
    overflow: hidden;
    width: 98%;
}
div.gyousyu p {
    float: left;
    width: 31%;
    box-sizing: border-box;
    padding: 10px 0px;
    margin: 1%;
    font-weight: bold;
    font-size: 0.9em;
    background-color: #FFFCFA;
    cursor: pointer;
    line-height: 14px;
    border: 1px solid #C2C2B6;
    box-shadow: 1px 1px 1px rgba(0,0,0,0.2);
    border-radius: 5px;
}
@media screen and (min-width: 320px) and (max-width: 374px) {
    div.gyousyu p{
        font-size:13px;
    }
    div.gyousyu p[data-name="biz"][data-value="7"] {
        letter-spacing: -1px;
    }
}
div.gyousyu ul li.gyousyu-row {
    border-bottom: none;
    padding: 0;
}
div.gyousyu p span {
    width: 380px;
    height: 30px;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    font-size: 14px;
}
.genrenaight-link img{
    width: 20px;
    position: relative;
    top: 6px;
}
.genrenaight-link a{
    text-decoration: underline;
    color: #0982FE;
    padding: 4px;
    font-size: 12px;
}
@media only screen and (orientation : landscape) {
div.gyousyu p span {
    text-align: center;
    vertical-align: middle;
    height: 30px;
    display: inline;
    }
}
div.gyousyu p.select {
    background-color: #b2e534;
    color: white;
}
div.half_list>div {
    width: 50%;
    float: left;
    border-bottom: 1px solid #C2C2B6;
    box-shadow: 1px 0 0 0px #C2C2B6 inset;
    overflow: hidden;
    white-space: nowrap;
    font-size: 15px;
;
}
div.half_list>div .fa {
    color: #d9d9d9;
    float: right;
    line-height: 48px;
    margin-right: 8px;
    font-size: 35px;
}
div.half_list>div>span {
    line-height: 48px;
    padding-left: 10px;
    font-size: 0.9em;
}

/*下層ページ*/
.content {
    position: relative;
}
.content h3 {
    text-align: center;
    height: 50px;
    line-height: 50px;
    border-bottom: 1px solid #c2c2b6;
}
.content ul li {
    color: rgb(60, 60, 60);
    font-size: 14px;
    line-height: 45px;
    border-bottom: 1px solid #c2c2b6;
    padding: 0 10px;
    clear: both;
    position: relative;
    box-sizing: border-box;
}
.content ul li.brown {
    line-height: 25px;
    height: 25px;
    font-size: 0.9em;
    color: #97917B;
    font-weight: bold;
}
.content ul li.bdt {
    border-top: 1px solid #c2c2b6;
}
.content ul li a {
    display: block;
    color: #343532;
    width: 100%;
    height: 100%;
}
.content ul li a.toggle {}
.content ul li a.toggle span {}
.content ul li a.toggle.active span {}
.content ul li .fa {
    float: left;
    color: #d9d9d9;
    line-height: 45px;
    margin-right: 15px;
    font-size: 24px;
}
.content h3 {
    border-bottom: 4px solid #087dfe;
}
#home .fixed {
    z-index: 999;
    display: block;
    width: 100%;
    bottom: 0;
    clear: both;
}
#home .btn {
    padding: 0 16px 0 16px;
}
#home .btn a {
    display: block;
    padding: 12px 0 12px 0;
    width: 100%;
    border-radius: 4px;
    background: #2490d0;
    border: 1px solid #2490d0;
    color: #FFF;
    text-align: center;
    font-size: 16px;
    box-shadow: none;
    line-height: 30px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.return {
    background-image: url(../img/return.png?imgopt=y);
    background-repeat: no-repeat;
    background-position: 0px -1px;
    background-size: contain;
    padding-left: 15px;
    position: absolute;
    top: 15px;
    left: 5px;
}
.return a {
    display: block;
}
.return_arrow {
    padding-left: 15px;
    position: absolute;
    top: 8px;
    left: -5px;
    font-size: 35px;
}
.return_arrow a {
    display: block;
    color: #C2C2B6;
}
.return_arrow a.return_close {
    font-size: 12px;
    border: solid 1px #C2C2B6;
    padding: 8px 8px 8px 24px;
    border-radius: 2px;
    font-weight: bold;
    color: #333;
    background-color: #FFFCFA;
    background-image: linear-gradient(to bottom, #ffffff, #f0efe7);
    line-height: 16px;
    position: relative;
}
.return_arrow a.return_close:after {
    content: "";
    width: 20px;
    height: 32px;
    position: absolute;
    background-image: url(//img.cityheaven.net/spfrontend/img/icon_batsu.svg);
    top: 0;
    left: 0;
    background-repeat: no-repeat;
    background-position: 4px center;
    background-size: 16px;
}
.index_center {
    height:48px;
    display:table-cell;
    vertical-align:middle;
    padding-right:80px;
}

/* 風俗健全化プロジェクトヘッダー */
ul#home li .safetyGuide{
    width:100%;
    margin-top:5px;
}
ul#home li .safetyGuide img{
    width:100%;
}
ul#home li .safetyGuide li.text{
    margin:5px 5%;
    width:90%;
    font-size:12px;
}
ul#home li .safetyGuide li.text span{
    color:#f00;
}
ul#home li .safetyGuide li.important {
    color: #aaa;
    margin: 0 5% 5px;
    width: 90%;
    font-size: 12px;
}
ul#home li .safetyGuide .btn{
    padding:0;
    margin:0 2% 5px;
    width:96%;
}
ul#home li .safetyGuide .btn a{
    width:100%;
    background-color:#fff;
    text-align:center;
    padding:0;
    border:1px solid #ccc;
    display:block;
    line-height:35px;
    font-size:12px;
    color:#3fbdd6;
    border-radius:4px;
}

/*サーチリンク*/
.result li.s_link {
    position: relative;
    line-height: 1.1em;
    padding: 15px 10px 5px;
}
.result li.s_link .s_link_item:first-child {
    margin-bottom: 10px;
}
.result li.s_link .s_link_item a {
    color: #1242c0;
}
.result li.s_link .s_link_item img {
    float: left;
    width: 80px;
    margin-right: 5px;
}
.result li.s_link .s_link_item p {
    zoom: 1;
    font-size: 14px;
}
.result li.s_link span.gray {
    font-size: 12px;
}
.result li.s_link .s_link_item p.s_link_title {
    font-size: 14px;
    padding-bottom: 5px;
}
.result li.s_link .s_link_item p.s_link_text {
    font-size: 12px;
    color: #000;
}
#searchLinkAdBottom{
    padding-bottom: 5px;
}

/*検索結果ページ*/
.result {
    overflow: hidden;
}
/* ↓ 2023/08/25 SPお店検索UI変更 */
.topmenu {
    color: #60615c;
    position: relative;
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    text-align: initial;
    padding: 16px 20px 14px !important;
    border-bottom: 1px solid #e0e0e0;
    box-shadow: none;
    margin-bottom: 3px;
}
.beige, .topmenu {
    background-color: #fff;
}
/* ↑ 2023/08/25 SPお店検索UI変更 */
.topmenu a {
    color: #60615c;
}
/* ↓ 2023/08/25 SPお店検索UI変更 */
.topmenu .leftResult {
    overflow: visible;
    height: fit-content;
    width: fit-content;
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    text-align: left;
    float: left;
    overflow-wrap: break-word;
    color: #1242c0;
}
.topmenu span {
    font-size: 14px;
    font-weight: 700;
    color: #1242c0;
    padding-top: 3px;
}
/* ↑ 2023/08/25 SPお店検索UI変更 */
.topmenu .rightResult {
    margin: 9px 0px 9px 0px;
    font-size: 14px;
    text-align: right;
    color: #000da9
}
.searchCount {
    background-color: #fff;
    box-shadow: 1px 1px #ddd;
    padding: 8pt;
    font-size: 14px;
    text-align: left;
    clear: both;
}
.result .rankingdisplayflg{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    text-align: center;
    box-sizing: border-box;
    background: #f9f8f4;
    padding: 18px 16px 16px;
}
.result .rankingdisplayflg>a{
display: block;
width: 50%;
background: white;
border: 1px solid;
padding: 10px 0px;
border-radius: 4px;
color: #0982fe;
margin: 0 4px;
font-size: 15px;
line-height: 15px;
}
.result .rankingdisplayflg .displayflg__no{
    width: 50%;
    padding: 10px 0;
    background: #ccc;
    border-radius: 4px;
    margin: 0 4px;
    line-height: 15px;
    font-size: 15px;
    border: 1px solid #ccc;
}
.result .sortListChangebtn{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    text-align: center;
    box-sizing: border-box;
    background: #dddddd;
    padding: 1px 0px;
}
.result .sortListChangebtn>a{
    display: block;
    width: 33%;
    background: #edebeb;
    padding: 8px 0px;
    color: #000da9;
    margin: 0 1px;
    font-size: 15px;
    line-height: 15px;
    }
.result .sortListChangebtn .displayflg__no{
    width: 33%;
    padding: 8px 0;
    background: #ccc;
    margin: 0 1px;
    line-height: 15px;
    font-size: 15px;
}
.rank_s {
    background-color: #FFFFE7;
}
.rank_a {
    background-color: #fff1f7;
}
.ossuIcon {
    width: 90px;
}
.title {
    margin-bottom: 5px;
}
.title p {
    float: left;
    margin: 5px 0 0 5px;
    line-height: 1.15em;
}
.title img {
    width: 40px;
    float: left;
    margin-right: 3px;
}
.title.clearfix {
    display: inline-flex;
}
.title p .shop a {
    color: #1242c0;
    font-size: 18px;
    font-weight: bold;
}
.title p .area {
    color: #60615c;
    font-size: 11px;
}
.result li {
    padding: 10px;
}
.text p {
    color: #60615c;
    margin-bottom: 4px;
    font-size: 12px;
    overflow: hidden;
    -webkit-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    white-space: nowrap;
    text-overflow: ellipsis;
    vertical-align: middle;
}
.text span.leftspace15{
    margin-left 15px;
}
i.fa.fa-jpy{
    vertical-align: middle;
}
i.fa.fa-clock-o {
    vertical-align: middle;
}
i.fa.fa-info-circle {
    vertical-align: middle;
}
.text br {
    display: none;
}
.text .mainimg {
    width: 80px;
    float: left;
    margin-bottom:0;
    height: 80px;
    overflow: hidden;
}
.text .mainimg img {
    width: 100%;
}
.text .fa {
    margin: 0 3px 0 5px;
    font-size: 16px;
}
.text .fa-exclamation-circle {
    color: #52b1e7;
}
.text .fa-jpy {
    font-size: 10px;
    border: 2px solid #5c554d;
    border-radius: 50px;
    padding: 0px 2px;
}
.text .btnarea {
    position: relative;
    left: 5px;
    top: 3px;
}
.text .btnarea a {
    display: block;
    color: #222;
}
.reservation {
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
}
.text .btnarea span {
    display: inline-block;
    height: 17px;
    line-height: 17px;
    padding: 0px 2px;
    border-radius: 2px;
    text-align: justify;
    float: left;
    margin-right: 3px;
    border: 1px solid;
    font-size: 10px;
    color: orange;
    background-color: white;
}
.text .btnarea span.type02 {
    background-color: #f0f0f0;
    color: #ccc;
}
.bottomarea {
    position: relative;
    overflow:hidden;
    width:100%;
    font-size: 0px;
}
.bottomarea a {
    display: block;
}
.bottomarea .star {
    float: left;
    width: 80px;
    margin-top: 2px;
}
.bottomarea span.premiumStar{
    min-width:80px;
    width:auto;
}
span.premiumStar img{
    vertical-align: middle;
}
.bottomarea .star img {
    margin-right: 1px;
}
.bottomarea span {
    font-size: 12px;
    width:80px;
    display: inline-block;
    vertical-align: middle;
}
.bottomarea .recruit {
    width: 92px;
    position:relative;
    margin-left:5px;
}
.bottomarea .dx {
    left: -5px;
    position:absolute;
    vertical-align: middle;
    width:15px;
    top:3px;
}
.bottomarea .type01 {
    box-shadow: 0 0 0 2px #8a281b inset;
}
.bottomarea .type02 {
    background-color: #c9c9c7;
}
ul#home li ul.result li .safety{
    color:#333;
    width:100%;
    margin-top:5px;
    padding-top:10px;
    position:relative;
    height:20px;
}
ul#home li ul.result li .safety a{
    display:block;
}
ul#home li ul.result li .safety p.safetyImg{
    width:30px;
    height:30px;
    position:absolute;
    bottom:-5px;
}
ul#home li ul.result li .safety p.safetyImgBtn{
    position: absolute;
    bottom: -5px;
    background: lightskyblue;
    color: white;
    font-size: 10px;
    padding: 5px 10px;
    margin: 5px 5px;
    border-radius: 5px;
}
ul#home li ul.result li .safety p.safetyImg img{
    width:100%;
}
ul#home li ul.result li .safety p.safetyText{
    font-size:10px;
    line-height:10px;
    margin-left:35px!important;
    letter-spacing:-1px;
    padding-top:5px;
}
ul#home li ul.result li .safety p.safetyText span{
    color:#4fc9f5;
}
.recruitGirldx {
    background:rgba(0, 0, 0, 0) url("/img/icon/newsearch_recruitGirldx.png?cache02=1485233286_for_psi&imgopt=y") no-repeat scroll 0 -1px / 92px auto;
    position: relative;
    display: block;
    color:#fff;
    padding-left:10px;
    font-size:10px;
    height:30px;
    line-height:37px;
    font-weight:bold;
}
.recruitMens {
    background:rgba(0, 0, 0, 0) url("/img/icon/newsearch_recruitMens.png?cache02=1485233286_for_psi&imgopt=y") no-repeat scroll 0 -1px / 92px auto;
    width:85px;
    height:30px;
    position: relative;
    display: block;
    color:#fff;
    padding-left:10px;
    font-size:10px;
    height:30px;
    line-height:37px;
    font-weight:bold;
}
.recruitNone {
    background:rgba(0, 0, 0, 0) url("/img/icon/newsearch_recruitNone.png?cache02=1485233286_for_psi&imgopt=y") no-repeat scroll 0 -1px / 92px auto;
    width:85px;
    height:30px;
    position: relative;
    display: block;
    color:#fff;
    padding-left:10px;
    font-size:10px;
    height:30px;
    line-height:37px;
    font-weight:bold;
}
.bottomarea span span.fs7{
    color:#fff;
    float:none;
    font-size:8px;
    -webkit-transform: scale(0.8);
    display: inline-block;
    -webkit-margin-start: -2px;
    width:22px;
    line-height:20px;
}
.coupon {
    position: relative;
    border: #ffa500 solid 1px;
    height: 32px;
    overflow: hidden;
    width: 100%;
    background: white;
}
.coupon.director_coupon {
    border: #C30327 solid 1px;
}
.coupon:before {
    content: "";
    background: #ffa500;
    width: 60px;
    height: 62px;
    display: block;
    position: absolute;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    top: -30px;
    left: -33px;
}
.coupon.director_coupon:before {
    background: #C30327;
}
.coupon>span {
    position: absolute;
    line-height: 10px;
    color: #fff;
    font-weight: bold;
    font-size: 9px;
}
.coupon span.percent {
    font-size: 15px;
}
.couponMain {
    margin-left: 12%;
    letter-spacing: -2px;
    line-height: 10px;
    margin-top: 3px;
}
.couponMain span.normal{
    color: black;
    font-size: 12px;
    letter-spacing: -1px;
}
.couponMain span.delim{
    color: black;
    font-size: 16px;
    letter-spacing: -1px;
    margin-right: 2px;
}
.couponMain span.large{
    color: red;
    font-size: 23px;
    font-weight: bold;
    letter-spacing: -1px;
    margin-left: 1px;
}
.couponButton{
    border: 1px solid rgb(228, 155, 23);
    border-radius: 2px;
    line-height: 10px;
    background: #ffa500;
    position: absolute;
    right: 2px;
    top: 1px;
    background: #fed81c; /* Old browsers */
    background: -moz-linear-gradient(top, #fed81c 0%, #fe9f1c 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #fed81c 0%,#fe9f1c 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #fed81c 0%,#fe9f1c 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fed81c', endColorstr='#fe9f1c',GradientType=0 ); /* IE6-9 */
    font-size: 9px;
    text-align: center;
    width: 40px;
    height: 85%;
    color: #fff;
    line-height: 12px;
    letter-spacing: -1px;
    padding-top: 1px;
}
.director_coupon > .couponButton{
    border: 1px solid #C30327;
    background: #C30327;
    background: -moz-linear-gradient(top, #ef0430 0%, #C30327 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #ef0430 0%, #C30327 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #ef0430 0%, #C30327 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ef0430', endColorstr='#C30327',GradientType=0 ); /* IE6-9 */
}
.coupon_head {
    color: #FFA500;
    font-size: 11px;
    margin-top: 11px;
    margin-bottom: 3px;
}
.coupon_head.director_coupon {
    color: #C30327;
    border: none;
}
li .imgarea {
    width: 100%;
    height: 134px;
    margin-top: 10px;
    position: relative;
}
li .imgarea .viewarea {
    position: absolute;
    z-index: 0;
    width: 725px;
    height: 134px;
    overflow: hidden;
}
.imgarea img {
    float: left;
    margin-right: 5px;
}
.line {
    width: 100%;
    height: 2px;
    text-indent: -9999px;
    padding: 0 !important;
    box-shadow: 0 0 3px 0 #ccc inset;
    background-color: #fff;
}
.page-count>span {
    margin: 25px 20px;
    display: block;
    padding: 10px 5px;
    background: #eee;
    border: 1px solid #aaa;
    line-height: 19px;
    font-size: 14px
}
span.strong-nonetitle {
    font-weight: bold;
}

/*フッター*/
footer {
    z-index: 1000;
    background-color: rgba(255, 255, 255, 0.9);
}
div.area-footer {
    background: #eee;
    padding: 7px 0;
    line-height: 30px;
    color: #333;
    clear: both;
    text-align: center
}
div.footerareabtn {
    margin: 5px 0
}
div.footerareabtn a {
    width: 280px;
    display: block;
    text-align: center;
    border: solid 1px #999;
    font-size: 14px;
    line-height: 30px;
    height: 30px;
    margin: 2px auto 0;
    border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    background: #fff;
    background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#CCC));
    background: -moz-linear-gradient(top, #FFF, #CCC);
    background: linear-gradient(-90deg, #FFF 0%, #CCC 100%);
    box-shadow: 0 0 3px 0 #ccc;
    -moz-box-shadow: 0 0 3px 0 #ccc;
    -webkit-box-shadow: 0 0 3px 0 #ccc
}
div.area-footer a {
    color: #36c;
}
div.footerareabtn td {
    padding-top: 3px
}
a.footer-link {
    font-size: 12px
}
div.footerareabtn {
    margin: 5px 0;
}

/*フッター*/
ul.normal-pager {
    text-align: center;
    display: table;
    margin: 5px auto;
    width: 100%
}
ul.normal-pager li a {
    display: inline-block;
    text-decoration: none;
    text-align: center;
    font-weight: 400;
    font-size: 14px;
    -webkit-box-shadow: 0 1px 3px gray;
    -moz-box-shadow: 0 1px 3px gray;
    line-height: 46px;
    overflow: hidden
}
ul.normal-pager li.pager-prev,
ul.normal-pager li.pager-next {
    width: 35%;
    display: table-cell
}
ul.normal-pager li.pager-first,
ul.normal-pager li.pager-last {
    width: 15%;
    display: table-cell
}
ul.normal-pager li.pager-prev a,
ul.normal-pager li.pager-next a {
    color: #333;
    display: block;
    margin: 0 2px
}
ul.normal-pager li.pager-prev a {
    background: url(/img/icon/btn_front.png?cache02=1485233286_for_psi&imgopt=y) no-repeat left center,-moz-linear-gradient(top,#e4e4e4,#e6e6e6);
    background: url(/img/icon/btn_front.png?cache02=1485233286_for_psi&imgopt=y) no-repeat left center,-webkit-gradient(linear,left top,left bottom,from(#e4e4e4),to(#e6e6e6));
    padding: 0 20px 0 40px;
}
ul.normal-pager li.pager-next a {
    background: url(/img/icon/btn_next.png?cache02=1485233286_for_psi&imgopt=y) no-repeat right center, -moz-linear-gradient(top, #e4e4e4, #e6e6e6);
    background: url(/img/icon/btn_next.png?cache02=1485233286_for_psi&imgopt=y) no-repeat right center, -webkit-gradient(linear, left top, left bottom, from(#e4e4e4), to(#e6e6e6));
    padding: 0 40px 0 20px
}
ul.normal-pager li.pager-first a,
ul.normal-pager li.pager-last a {
    color: #fff;
    display: block;
    background: -moz-linear-gradient(top, #3aa0f6, #128DF5);
    background: -webkit-gradient(linear, left top, left bottom, from(#3aa0f6), to(#128DF5));
    padding: 0 10px
}
ul.normal-pager li.pager-first a {
    -webkit-border-top-left-radius: 4px;
    -webkit-border-bottom-left-radius: 4px;
    margin-right: 2px
}
ul.normal-pager li.pager-last a {
    -webkit-border-top-right-radius: 4px;
    -webkit-border-bottom-right-radius: 4px;
    margin-left: 2px
}

/*ラジオボタン*/
.recruit_checkbox {
    position: absolute;
    top: 9px!important;
    right: 60px;
}
.recruit_checkbox input {
    display: none;
}
input[type="radio"]:checked + .switch01 {
    color: #fff;
    padding: 10px 20px;
}
input[type="radio"]:checked + .switch-01 {
    background-color: #A1B91D;
}
input[type="radio"]:checked + .switch-02 {
    background-color: #E67168;
}
.recruit_checkbox input {
    display: none;
}
.recruit_checkbox label {
    border: 1px solid #c2c2b6;
    display: block;
    float: left;
    cursor: pointer;
    width: 48px;
    margin: 0;
    padding: 10px 5px;
    color: #222;
    font-size: 12px;
    text-align: center;
    line-height: 1;
    transition: .2s;
    background: #FFFCFA;
}
.recruit_checkbox label:first-of-type {
    border-radius: 3px 0 0 3px;
    border-right: none;
}
.recruit_checkbox label:last-of-type {
    border-radius: 0 3px 3px 0;
}
.recruit_checkbox input[type="radio"]:checked + .switch-01 {
    background-color: #A8DB2E;
    color: white;
}
.recruit_checkbox input[type="radio"]:checked + .switch-02 {
    background-color: #A8DB2E;
    color: white;
}

/*予約*/
#index ul li#reservation {
    position: relative;
    line-height: 35px !important;
    padding: 5px 10px;
    height: 85px !important;
}
#reservation .selectarea {
    background-color: #ffffff;
    border: 1px solid #c2c2b6;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    width: 100%;
    height: 35px;
    position: relative;
    padding-top: 0px;
    overflow: hidden;
}
ul.result #reservation .selectarea {
    width: 75%;
}
#reservation p {
    color: #cbcbcb;
    font-weight: normal;
    display: block;
    float: left;
    height: 35px;
    position: relative;
    top: 0;
    width: 50%;
    text-align: center;
    border-right: 1px solid #c2c2b6;
    overflow: hidden;
    box-sizing: border-box;
    font-size: 14px;
    line-height: 35px;
}
#reservation p:nth-child(2) {
    border-right: none;
}
#reservation p:nth-child(2) .fa {
    position: relative;
    left: 5px;
}
#index ul #reservation .selectarea .fa {
    color: #97917b;
    float: none;
    margin: 0;
    height: 35px;
    line-height: 35px;
    font-size: 15px;
    margin-right: 3px;
}
#reservation p input::-moz-placeholder {
    border: none;
    color: #cbcbcb;
    font-size: 11px;
    width: 60px;
    line-height: 22px;
}
#reservation p input::-webkit-input-placeholder {
    border: none;
    color: #cbcbcb;
    font-size: 11px;
    width: 60px;
    line-height: 22px;
}
#reservation p input:-ms-input-placeholder {
    border: none;
    color: #cbcbcb;
    font-size: 11px;
    width: 60px;
    line-height: 22px;
}
#reservation p input:placeholder-shown {
    border: none;
    color: #cbcbcb;
    font-size: 11px;
    width: 60px;
    line-height: 22px;
}
#reservation p input {
    border: none;
    color: #cbcbcb;
    font-size: 11px;
    width: 60px;
    line-height: 22px;
}
#reservation p select {
    border: none;;
    color: #cbcbcb;
    font-size: 11px;
    margin-left: 5px;
    line-height: 27px;
}
#reservation p:nth-child(2) .fa {
    position: relative;
    left: 7px;
}
#reservation select#time,
#reservation input#datepicker {
    background: inherit;
}
.date_cond_remove {
    border-radius: 50%;
    font-size: 15px;
    width: 20px;
    height: 20px;
    line-height: 19px;
    top: 7px;
    right: 5px;
    text-align: center;
    color: white;
    position: absolute;
    background-color: #999;
    z-index: 100;
    display: none;
}
#station footer .reserve_count_notice {
    font-size: 11px;
    color: #F00;
}
.result .beige {
    line-height: 13px !important;
    padding-top: 5px;
    height: 68px !important;
    font-size: 13px;
    font-weight: bold;
    position: relative;
}
.result #reservation .selectarea {
    margin: -4px 0 0 0;
}
.result a.search_btn {
    font-size: 12px;
    line-height: normal;
    padding: 10px 0px;
    position: absolute;
    width: 21%;
    right: 9px;
    bottom: 4px;
    margin-top: 10px;
}
.bottomarea .reserve_btn {
    background: #92d050;
    border-radius: 3px;
    text-align: center;
    font-size: 10px;
    font-weight: bold;
    padding: 6px 0 5px 0;
    width: 72px;
    margin: 4px 0 0 5px;
}
.bottomarea .reserve_btn a {
    color: white;
}
#reservation i.fa {
    color: #97917b;
}
#ui-datepicker-div .ui-datepicker-calendar {
    font-size: 16px;
}
#ui-datepicker-div .ui-widget-header {
    border: 1px solid #4297d7;
    background: #5c9ccc url(/img/girlsearch/ui-bg_gloss-wave_55_5c9ccc_500x100.png?imgopt=y) 50% 50% repeat-x;
    color: #fff;
    font-weight: bold;
    font-size: 16px;
}
#ui-datepicker-div .ui-widget-content {
    border: 1px solid #a6c9e2;
    background: #fcfdfd url(/img/girlsearch/ui-bg_inset-hard_100_fcfdfd_1x100.png?imgopt=y) 50% bottom repeat-x;
    color: #222;
}
#ui-datepicker-div .ui-state-hover,
#ui-datepicker-div .ui-widget-content .ui-state-hover,
#ui-datepicker-div .ui-widget-header .ui-state-hover,
#ui-datepicker-div .ui-state-focus,
#ui-datepicker-div .ui-widget-content .ui-state-focus,
#ui-datepicker-div .ui-widget-header .ui-state-focus {
    border: 1px solid #79b7e7;
    background: #d0e5f5 url(/img/girlsearch/ui-bg_glass_75_d0e5f5_1x400.png?imgopt=y) 50% 50% repeat-x;
    font-weight: bold;
    color: #1d5987;
}
#ui-datepicker-div .ui-state-default,
#ui-datepicker-div .ui-widget-content .ui-state-default,
#ui-datepicker-div .ui-widget-header .ui-state-default {
    border: 1px solid #c5dbec;
    background: #dfeffc url(/img/girlsearch/ui-bg_glass_85_dfeffc_1x400.png?imgopt=y) 50% 50% repeat-x;
    font-weight: bold;
    color: #2e6e9e;
}
#ui-datepicker-div .ui-widget-header .ui-icon {
    background-image: url(/img/girlsearch/ui-icons_d8e7f3_256x240.png?imgopt=y);
}
#ui-datepicker-div .ui-state-hover .ui-icon, .ui-state-focus .ui-icon {
    background-image: url(/img/girlsearch/ui-icons_217bc0_256x240.png?imgopt=y);
}
#ui-datepicker-div .ui-icon,
#ui-datepicker-div .ui-widget-content .ui-icon {
    background-image: url(/img/girlsearch/ui-icons_469bdd_256x240.png?imgopt=y);
}

/*トグル*/
.togglemenu {
    padding-left: 5px;
}
.togglemenu .all,
.togglemenu .portion {
    width: 50%;
    height: 30px;
    line-height: 30px;
    float: left;
    font-size: 11px;
}
.togglemenu .fa {
    line-height: 30px !important;
    font-size: 20px !important;
    margin-right: 5px !important;
}
.togglemenu .btn a {
    padding: 5px 0 !important;
}
#ui-datepicker-div {
    width: 94% !important;
    top: 302px !important;
    left: 1.5% !important;
    z-index: 1;
    position: absolute;
}
.slicknav_menu {
    display: none;
}
/*Media Queries*/
@media screen and (max-width: 768px) {
    .js #menu {
        display: none;
    }
    .js .slicknav_menu {
        display: block;
    }
}
a.search_btn {
    color: white;
    border-radius: 3px;
    background-image: linear-gradient(#B9EF34, #82AF20);
    border: 1px solid #96B733;
    box-shadow: 0 0 5px 0 #CEF172 inset;
    width: 100%;
    text-align: center;
    background-color: #89B918;
    padding: 22px 0px;
    font-size: 1.2em;
    font-weight: bold;
}

/*女の子検索*/
.headword {
    background: -moz-linear-gradient(center top, #3EA1FF, #108AFF) repeat scroll 0 0 transparent;
    background: -webkit-gradient(linear, center top, center bottom, from(#3EA1FF), to(#108AFF));
    margin-bottom: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 0 70px;
}
#ranking-bnt {
    display: block;
    padding: 0 20px 0 10px;
    position: absolute;
    right: 0;
    top: 0;
    border-left: 1px solid #5eb1ff;
    height: 40px;
    overflow: hidden;
    background: url(../img/button/smartphone/ranking_listArrow.png?imgopt=y) no-repeat scroll right center transparent;
    background-size: 16px 20px;
    -webkit-background-size: 16px 20px;
    -moz-background-size: 16px 20px;
}
#ranking-bnt a img {
    width: 25px;
}

/* modal */
#modal_check {
    display: none;
    box-sizing: border-box;
    width: 95%;
    background-color: white;
    border-radius: 5px;
    position: fixed;
    z-index: 9001;
    left: 50%;
    top:50%;
}
.modal_header {
    font-size: 14px;
    padding: 19px 15px;
    border-bottom: 1px solid #e0e0e0;
    border-radius: 5px 5px 0 0;
    font-weight: bold;
    position: relative;
    background: #F7F7F7;
}
.modal_header .modal_close {
    position: absolute;
    top: -15px;
    right: -7px;
    text-align: center;
    border-radius: 50%;
    font-size: 30px;
    color: #999;
;
}
.modal_contents {
    text-align: left;
    font-size: 12px;
    max-height: 60vh;
    height: 400px;
    padding-bottom: 20px;
    padding: 15px;
    line-height: 1.5em;
    overflow-y: scroll;
    box-sizing: border-box;
    box-shadow: 0 0 1px #ccc inset;
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
}
.modal_contents .modal_left,
.modal_contents .modal_right {
    vertical-align: top;
    margin-bottom: 5px;
    display: inline-block;
}
.modal_contents .modal_left {
    text-align: left;
    padding-right: 15px;
    font-weight: bold;
    font-size: 14px;
    width: 100%;
    display: block;
    border-bottom: 1px solid;
    margin-top: 10px;
    box-sizing: border-box;
}
.modal_fotter {
    border-top: 1px solid #e0e0e0;
    background-color: #F7F7F7;
    border-radius: 0 0 5px 5px;
    text-align: -webkit-right;
    text-align: right;
    padding: 8px;
}
.modal_fotter .modal_search_btn {
    margin: 0px auto;
    display: inline-block;
    background: -moz-linear-gradient(top, #B9EF34, #82AF20);
    background: -webkit-gradient(linear, left top, left bottom, from(#B9EF34), to(#82AF20));
    border: 1px solid #96B733;
    box-shadow: 0 0 5px 0 #CEF172 inset;
    border-radius: 5px;
    color: white;
    margin-left: 0px;
    width: 70px;
    text-align: center;
    line-height: 18px;
    padding: 9px 0px;
    font-size: 0.9em;
}
.modal_fotter .modal_search_btn.btn_cancel {
    background: -moz-linear-gradient(top, rgb(239, 52, 52), #AF2020);
    background: -webkit-gradient(linear, left top, left bottom, from(rgb(239, 52, 52)), to(#AF2020));
    font-size: 0.7em;
    margin: 0;
    border-color: #C14949;
    box-shadow: 0 0 5px 0 #FFBCBC inset;
}
a.set_add {}
#modal_overlay {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 150%;
    z-index: 9000;
    opacity: 0.8;
    background-color: rgb(51, 51, 51);
    display: none;
}
#pageTop {
    bottom: 10px;
    position: fixed;
    right: 8px;
    z-index: 201;
}
#pageTop a {
    background-color: #000;
    border-radius: 4px;
    color: #fff;
    display: block;
    height: 46px;
    line-height: 45px;
    opacity: 0.85;
    text-align: center;
    width: 46px;
    display: none !important;
}
.rt_disable {
    color: #bbbbbb;
}
.change_conditions {
    bottom: 10px;
    box-sizing: border-box;
    padding-left: 8px;
    padding-right: 8px;
    position: fixed;
    width: 100%;
    z-index: 200;
}
.change_conditions > a {
    background-color: #000000;
    border-radius: 4px;
    color: #ffffff;
    display: block;
    font-size: 12px;
    opacity: 0.85;
    padding: 8px;
}
.FlexBox--middle {
    align-items: center;
}
.FlexBox {
    box-sizing: border-box;
    display: flex;
    width: 100%;
}
.change_conditions_btn {
    border-right: 1px solid #fff;
    margin-right: 10px;
    padding-right: 10px;
}
.change_conditions_btn > p {
    background-image: url("/img/girlsearch/icon_001_w.png?cache02=1485233286_for_psi&imgopt=y");
    background-position: 3px 50%;
    background-repeat: no-repeat;
    background-size: 18px auto;
    padding: 9px 0 9px 25px;
}
.FlexBox__item {
    display: inline-block;
}
.groupother {
    margin: 5px 0 8px;
    background-color: #f0ebdc;
    box-shadow: 0 3px 0 #d1d0d0;
    height: 40px;
    line-height: 40px;
    width: 100%;
}
.groupother span:after {
    background: #ffd5cc none repeat scroll 0 0;
    content: "";
    height: 8px;
    left: 0;
    position: absolute;
    top: 1em;
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg);
    width: 8px;
}
.groupother span:before {
    background: #ff2f07 none repeat scroll 0 0;
    content: "";
    height: 12px;
    left: 0.4em;
    position: absolute;
    top: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 12px;
}
.groupother span {
    color: #666;
    font-weight: bold;
    margin-left: 20px;
    position: relative;
    margin: 0 0 10px;
    padding: 0.5em 0.5em 0.2em 1.7em;
}
.searchGroup {
    margin: 20px 0;
}
.searchGroup .shopBox {
    display: block;
    position: relative;
    padding: 10px 5px;
    margin-bottom: 10px;
    border-top: 4px solid #A59500;
    border-bottom: 4px solid #A59500;
    background-color: #ffffff;
}
.searchGroup .shopBox:after {
    content: "";
    display: block;
    clear: both;
}
.searchGroup .shopBox .group_name {
    color: #1242c0;
    font-size: 17px;
    font-weight: bold;
    margin:	2px 10px;
}
.searchGroup .shopBox .clearfix {
    clear: both;
    height: 65px;
    overflow: hidden;
}
.searchGroup .shopBox .b_img {
    margin: 3px 0;
    width: 40%;
    float: left;
}
.searchGroup .shopBox .b_img img {
    max-width: 100%;
    vertical-align: top;
}
.searchGroup .shopBox .b_img_info{
    font-size: 13px;
    line-height: 1.5;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    margin: 8px 0 0;
}
.searchGroup .shopBox .catch {
    color: #6d640c;
    font-size: 16px;
    font-weight: bold;
    line-height: 18px;
    overflow: hidden;
    padding: 5px;
    word-break: break-all;
}
.searchGroup .iconSearchGroup {
    position: absolute;
    right: 0;
    top: -10px;
    width: 120px;
}
.searchGroup .iconSearchGroup img {
    margin-top: 0;
    max-width: 100%;
    vertical-align: top;
}
.searchGroup .iconSearchGroup.animStart img {
    animation: grp_anime1 0.8s linear 0s infinite alternate;
    -moz-animation: grp_anime1 0.8s linear 0s infinite alternate;
    -webkit-animation: grp_anime1 0.8s linear 0s infinite alternate;
    -ms-animation: grp_anime1 0.8s linear 0s infinite alternate;
}
.groupInfo_Box {
    background:  #BFB160;
    margin-top: -10px;
    margin-left: -5px;
    margin-right: -5px;
}
@-moz-keyframes grp_anime1{
    0% {
        -moz-transform: translate(0, 0);
    }
    50% {
        -moz-transform: translate(0, -5px);
    }
    100% {
        -moz-transform: translate(0, 0);
    }
}
@keyframes grp_anime1{
    0% {
        transform: translate(0, 0);
    }
    50% {
        transform: translate(0, -5px);
    }
    100% {
        transform: translate(0, 0);
    }
}
@-webkit-keyframes grp_anime1 {
    0% {
        -webkit-transform: translate(0, 0);
    }
    50% {
        -webkit-transform: translate(0, -5px);
    }
    100% {
        -webkit-transform: translate(0, 0);
    }
}
@-ms-keyframes grp_anime1 {
    0% {
        -ms-transform: translate(0, 0);
    }
    50% {
        -ms-transform: translate(0, -5px);
    }
    100% {
        -ms-transform: translate(0, 0);
    }
}
.netreservation_head {
    color: #8bc14a;
    font-size: 11px;
    margin-top: 11px;
    margin-bottom: 3px;
}
table.reservation_date {
    border-style: none;
    border-collapse: collapse;
    width: 100%;
}
tr.reservation_date td {
    width: 12%;
}
tr.reservation_date span {
    border-radius: 3px;
    background-color: #3a3a3a;
    color: #ffffff;
    padding: 0 3px;
    font-size: 10px;
}
div.reservation_info {
    border: solid 1px #dddddd;
}
table.reservation_info {
    border-collapse: collapse;
    width: 100%;
}
tr.reservation_kbn td {
    width: 12%;
    font-size: 11px;
    border-bottom: solid 1px #dddddd;
}
tr.reservation_kbn td:first-child, tr.reservation_status td:first-child {
    border-left: solid 2px #ffffff;
}
tr.reservation_kbn td, tr.reservation_status td {
    background-color: #ffffff;
    text-align: center;
    border-right: solid 2px #ffffff;
}
tr.reservation_status span {
    border-radius: 2px;
    margin: 2px 0;
    padding: 4px 0;
    display:inline-block;
    width: 100%;
    font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
    font-size: 11px;
}
tr.reservation_status span.reservable {
    background-color: #8bc14a;
}
/*ネット予約*/
.netreservation_box{
    background-color:#e9f7d8;
    border:1px solid #d3e2c1;
    border-radius:5px;
    overflow:hidden;
    width:100%;
    padding:5px;
    box-sizing:border-box;
    margin-top:5px;
}
.netreservation_box p.netreservation_head{
    color:#fff;
    background-color:#8bc14a;
    border-radius:3px;
    padding:5px;
    margin:0 0 3px;
    font-weight:bold;
}
#datepicker:placeholder-shown {
    color: rgb(203, 203, 203);
}
#datepicker::-webkit-input-placeholder {
    color: rgb(203, 203, 203);
}
#datepicker:-moz-placeholder {
    color: rgb(203, 203, 203); opacity: 1;
}
#datepicker::-moz-placeholder {
    color: rgb(203, 203, 203); opacity: 1;
}
#datepicker:-ms-input-placeholder {
    color: rgb(203, 203, 203);
}
ul.result li#reservation div.reserve_title {
    display: inline-block;
    margin-bottom: 16px;
    vertical-align: middle;
}
ul.result li#reservation div.check {
    display: inline-block;
    margin-left: 10px;
    /* 性能改善（PSIv9対応）第26弾 2022/9/8 */
    height: 30px;
}
.informaiton {
    position: fixed;
    top: -30px;
    left: 0;
    width: 100%;
    height: 30px;
    box-sizing: border-box;
    padding: 5px;
    color: #fff;
    line-height: 20px;
    font-size: 12px;
    z-index: 1000;
}
.information-name {
    display: inline-block;
    max-width: 40%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
}
.information-status {
    display: inline-block;
    vertical-align: middle;
}
.title.clearfix,.title.clearfix>table {
    width: 100%;
}
.keep-btn-wrap{
    width: 42px;
    vertical-align: top;
    text-align: center;
}
.keep-btn{
    display: block;
    width: 40px;
    height: 33px;
    font-size: 10px;
    background: #FFF;
    border: 1px solid #ccc;
    border-radius: 5px;
    position: relative;
    text-align: center;
}
.title .keep-btn-icon{
    width: 24px;
    float: none;
    margin: 0;
}
.keep-btn-text{
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
    font-weight: 700;
    color: #888;
}
.bottomarea>span.recruit {
    width: auto;
    position: relative;
    margin-left: 5px;
}
.recuit_btn {
    color: #ccc;
    position: relative;
    display: block;
    background: #fff;
    padding: 4px 12px 4px 5px;
    border: 2px solid;
    border-radius: 6px;
    font-size: 11px;
    margin: 6px 0 1px;
    overflow: hidden;
}
.recuit_btn._girl { color: #FF0061; }
.recuit_btn._mens { color: #00B7EE;}
.recuit_btn:before,
.recuit_btn:after {
    content: "";
    position: absolute;
    top: 5px;
    width: 0;
    height: 0;
    border: 4px solid transparent;
    border-left: 4px solid;
}
.recuit_btn:before {
    right: 0;
    border-left: 4px solid;
}
.recuit_btn:after {
    right: 1px;
    border-left: 4px solid #fff;
}
.recuit_btn._girl._girlsDx { padding-left: 25px;}
.bottomarea span.girlsDxIcon {
    position: absolute;
    display: block;
    width: 20px;
    font-size: 10px;
    line-height: 11px;
    font-weight: bold;
    color: #fff;
    background: #ff0061;
    -webkit-transform: translateY(-50%) scale(0.8);
    transform: translateY(-50%) scale(0.8);
    top: 50%;
    padding: 4px;
    left: -5px;
}
.bottomarea span.girlsDxIcon:after {
    content: "";
    display: block;
    position: absolute;
    right: -9px;
    top: 9px;
    width: 0;
    height: 0;
    border: 5px solid transparent;
    border-left: 5px solid #ff0061;
}
#noContents{
    padding:20px 10px
}
#noContents ul{
    width:100%;
    overflow:hidden;
    position:relative;
}
#noContents li{
    padding:0;
    display:block;
}
#noContents .no_shopMessage{
    font-size:14px;
}
#noContents div.guidance_btn{
    width:100%;
    margin-top:15px;
}
#noContents div.guidance_btn a{
    width:35%;
    float:left;
    margin-right:2%;
}
#noContents div.guidance_btn a:last-child{
    margin-right:0;
}
#noContents h3.no_shopTitle{
    font-weight:bold;
    margin:10px 0;
}
#noContents .no_shopText{
    font-size:12px;
    line-height:15px;
    margin-top:10px;
}
#noContents .guidance_contents{
    margin:30px 0;
    position:relative;
}
#noContents .guidance_contents .con_title{
    background:#fff;
    padding-right:5px;
    position:absolute;
    top:1px;
    color:#7dc6a9;
    font-size:18px;
}
#noContents .guidance_contents p.dotted{
    height:18px;
    width:100%;
    top:-11px;
    background-image:radial-gradient(#b7dfcf 20%, #fff 20%), radial-gradient(#b7dfcf 20%, #fff 20%);
    background-size:20px 20px;
    background-position:0 0 , 20px 20px;
}
#noContents .guidance_contents .guidance_wrap{
    margin-top:20px;
}
#noContents .guidance_contents .guidance_map{
    text-align:center;
    width:100%;
}
#noContents .guidance_contents .guidance_map img{
    width:100%;
}
#noContents .guidance_contents .accordion {
    width: 100%;
    margin: 10px auto;
    padding: 0;
}
#noContents .guidance_contents .accordion .ac-content {
    margin: 0;
    padding: 0;
}
#noContents .guidance_contents .accordion input {
    display: none;
}
#noContents .guidance_contents .accordion label {
    display: block;
    background-color: #9fb7d4;
    cursor: pointer;
    padding:0 10px;
    color: #fff;
    border-bottom: 1px solid #fff;
    box-sizing: border-box;
    border-radius:5px;
    line-height:50px;
    font-weight:bold;
    position:relative;
}
#noContents .guidance_contents .accordion label{
    -webkit-transition: 0.4s ease-in-out;
    transition: 0.4s ease-in-out
}
#noContents .guidance_contents .accordion label:after{
    content: "";
    width: 10px;
    height: 10px;
    display: inline-block;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    position: absolute;
    top: 32%;
    right: 15px;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg)
}
#noContents .guidance_contents .accordion input#ac-cap1:checked + label:after,
#noContents .guidance_contents .accordion input#ac-cap2:checked + label:after{
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    top:39%;
}
#noContents .guidance_contents .accordion .ac-cont {
    transition: 0.2s;
    height: 0;
    overflow: hidden;
    padding: 0 4%;
    box-sizing: border-box;
    position:relative;
}
#noContents .guidance_contents .accordion input#ac-cap1:checked + label + .ac-cont,
#noContents .guidance_contents .accordion input#ac-cap2:checked + label + .ac-cont{
    height: auto;
    padding: 10px 4% 0;
    box-sizing: border-box;
}
#noContents .guidance_route .guidance_name{
    background:#eee;
    padding:5px 0;
}
#noContents .guidance_route .guidance_name li{
    float:left;
    color:#333;
    font-size:12px;
}
#noContents .guidance_route .guidance_name li.time{
    margin:3px 0 0 2%;
    line-height:13px;
    width:16%;
}
#noContents .guidance_route .guidance_name li.empty{
    width: 8%;
    max-width:20px;
    height: 20px;
    margin-left:2%;
}
#noContents .guidance_route .guidance_name li.icon{
    width:8%;
    max-width:20px;
    height:20px;
    background:#aaa;
    color:#fff;
    display:block;
    border-radius:5px;
    text-align:center;
    line-height:20px;
    margin-left:27%;
}
#noContents .guidance_route .guidance_name li.station_name{
    margin:3px 0 0 2%;
    line-height:13px;
    width:63%;
}
#noContents .guidance_route .route li{
    color:#333;
    font-size:12px;
}
#noContents .guidance_route .route li.route_left{
    width:28%;
    position:absolute;
    text-align:center;
    top:50%;
    margin-top:-6px;
}
#noContents .guidance_route .route li.route_right{
    width:63%;
    margin-left:36%;
    min-height:40px;
}
#noContents .guidance_route .route li.route_right .train_name{
    width:95%;
    padding-top:5px;
}
#noContents .guidance_route .route li.route_right .train_name img{
    width:12px;
    vertical-align:middle;
    margin-right:5px;
}
#noContents .guidance_route .route li.route_right .train_name.border{
    border-bottom:1px solid #ddd;
    border-top:1px solid #ddd;
    box-sizing:border-box;
    padding-bottom:5px;
}
#noContents .guidance_route .route li.route_right .train_no{
    font-size:10px;
    color:#bbb;
    margin-left:17px;
    padding-bottom:5px;
}
#noContents .guidance_contents p.arrow{
    position:absolute;
    left:29%;
    width:20px;
    background:none;
}
#noContents .guidance_contents p.arrow span{
    position:relative;
    width:0;
    height:0;
    border:10px solid transparent;
    border-top-color:#999;
}
#noContents .guidance_contents p.arrow span:after{
    position:absolute;
    content:'';
    bottom:27px;
    left:-3px;
    width:6px;
    background:#999;
}
#noContents .guidance_btn a{
    color:#fff;
    font-size:16px;
    line-height:50px;
    display:block;
    background:#7dc6a9;
    border-radius:5px;
    box-shadow: 0px 6px 3px -3px rgba(0,0,0,0.2);
    -webkit-box-shadow: 0px 6px 3px -3px rgba(0,0,0,0.2);
    -moz-box-shadow: 0px 6px 3px -3px rgba(0,0,0,0.2);
    text-align:center;
    font-weight:bold;
}
.result .result-item {
    padding: 12px 0;
    margin-bottom: 16px;
    border-bottom: 1px solid #ddd;
    border-top: 1px solid #ddd;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.result .result-item {
    background: #FFFFFF;
}
.result .result-item.rank_a {
    background: #FDF7FB;
}
.result .result-item.rank_s {
    background: #FFFFE7;
}
.item-header {
    display: flex;
    margin: 0 0 8px;
    padding: 0 8px;
}
.icon_premium{
    padding: 0 4px 0 0;
}
.icon_premium>img {
    width: 40px;
    height: 40px;
    max-width: unset;
}
.item-header-main {
    width: 100%;
    padding: 0 4px 0 0;
}
.shop_title_gyousyu {
    display:inline-block;
    color: #60615c;
    font-size: 11px;
}
._small {
    margin: 0 -2px;
}
._smaller1 {
    margin-right: -2px;
}
._smaller2 {
    margin-left: -2px;
}
.shop-name>a {
    color: #1242c0;
    font-size: 18px;
    font-weight: 700;
}
.shop-area {
    color: #60615c;
    font-size: 11px;
}
.renewal_open {
    font-size: 11px;
    line-height: 1.2em;
    background: rgb(249, 229, 129);
    padding: 4px;
    margin: 0 16px 0 0;
    white-space: nowrap;
    height: 26px;
}
.imagearea-wrap {
    margin: 0 0 8px 8px;
    overflow: hidden;
}
.girl-list {
    overflow-y: hidden;
    overflow-x: scroll;
    margin: 0 auto;
    display: flex;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
}
/* ↓ H2318_女の子ダブルオプション 2025/04/01 */
.girl-list:has(.girl-row) {
    display: inherit;
}
.girl-list>.girl-row {
    display: flex;
}
/* ↑ H2318_女の子ダブルオプション 2025/04/01 */
.girl-item {
    display: block;
    max-width: 28%;
    flex: 0 0 28%;
    margin: 0 4px 0 0;
    overflow: hidden;
    position: relative;
}
.girl-item>img {
    width: 100%;
    pointer-events: none;
}
.girl-item .newface_icon {
    position: absolute;
    bottom: 0px;
    right: 0px;
    top: 110px;
    width: 50%;
    max-width: 53px
}
/* ↓ ミスヘブンノミネート者アイコン表示 2025/10/28 */
.girl-item .missheaven_icon {
    position: absolute;
    bottom: 0px;
    right: 0px;
    width: 50%;
    max-width: 53px
}
/* ↑ ミスヘブンノミネート者アイコン表示 2025/10/28 */
.informations-wrap {
    display: flex;
    padding: 0 8px;
    margin: 0 0 4px;
}
.shop-logo {
    margin: 0 8px 0 0;
}
.shop-logo>a {
    display: block;
    width: 80px;
    height: 80px;
}
.shop-logo img {
    display: block;
    width: 100%;
    height: auto;
    pointer-events: none;
}
.shop-logo+.shop-informaitons {
    width: calc(100% - 88px);
}
.shop-informaitons>.premiumStar {
    display: block;
    margin: 0 0 4px;
}
.shop-informaitons>p {
    color: #60615c;
    margin-bottom: 4px;
    font-size: 12px;
    -webkit-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    width: 100%;
}
.shop-informaitons>p .fa {
    margin: 0 3px 0 0;
    font-size: 16px;
}
.shop-informaitons>p .fa-exclamation-circle {
    color: #52b1e7;
}
.shop-informaitons>p .fa-jpy {
    font-size: 10px;
    border: 2px solid #5c554d;
    border-radius: 50px;
    padding: 0px 2px;
}
.icons-wrap {
    padding: 0 8px;
    margin: 0 0 8px;
}
.icons-wrap>.recruit {
    width: auto;
    position: relative;
    display: inline-block;
    font-size: 12px;
}
.icons-wrap .girlsDxIcon {
    position: absolute;
    display: block;
    width: 20px;
    font-size: 10px;
    line-height: 11px;
    font-weight: bold;
    color: #fff;
    background: #ff0061;
    -webkit-transform: translateY(-50%) scale(0.8);
    transform: translateY(-50%) scale(0.8);
    top: 50%;
    padding: 4px;
    left: -5px;
}
.icons-wrap .girlsDxIcon:after {
    content: "";
    display: block;
    position: absolute;
    right: -9px;
    top: 9px;
    width: 0;
    height: 0;
    border: 5px solid transparent;
    border-left: 5px solid #ff0061;
}
/* ↓ 年末年始まで営業中 フラグ追加 @SC 2022/12/19 */
.icons-wrap>.newyear_bnr {
    display: inline-block;
    margin-bottom: 3px;
    vertical-align: bottom;
    margin-top: 6px;
}
.icons-wrap>.newyear_bnr img {
    width: 110px;
}
/* ↑ 年末年始まで営業中 フラグ追加 @SC 2022/12/19 */
.coupon-wrap {
    padding: 0 8px;
    margin: 0 0 8px;
}
.coupon-wrap>a {
    display: block;
}
.coupon-body {
    position: relative;
    padding: 4px 4px 4px 40px;
    border: 1px solid #e7e7e7;
    background: rgba(255,255,255,0.75);
}
.off-icon {
    position: absolute;
    display: block;
    left: 4px;
    top: 4px;
    width: 30px;
    height: 30px;
    background: #FFBD4F;
    padding: 4px;
    box-sizing: border-box;
    color: #fff;
    font-size: 10px;
    font-weight: bold;
    text-align: center;
}
.off-icon>.percent {
    font-size: 12px;
}
.director-icon{
    background: #c00;
    color: #fff;
    margin-right: 2px;
    font-size: 10px;
    padding: 0 2px;
    border-radius: 2px;
    display: inline-block;
}
.course_titlename {
    color: #F44336;
    font-size: 16px;
    font-weight: bold;
    margin-top: 3px;
}
.coupon-title {
    font-size: 11px;
    line-height: 1.25em;
    margin: 0 0 2px;
}
.coupon-value {
    font-size: 15px;
    color: #555;
}
.coupon-value>.before {
    text-decoration: line-through;
    font-size: 14px;
}
.coupon-value>.after {
    font-weight: bold;
    color: #c00;
}
.coupon-main:after {
    content: "";
    position: absolute;
    right: 0px;
    top: 11px;
    width: 0;
    height: 0;
    border: 8px solid transparent;
    border-left: 8px solid #ddd;
}
.reserve-wrap {
    padding: 0 8px;
    margin: 0 0 8px;
}
.reserve-date {
    width: 100%;
    background: #ffbd4f;
    border: 1px solid #e7e7e7;
}
.reserve-date td {
    width: 12.5%;
    font-size: 11px;
    padding: 2px 0;
    color: #fff;
}
.reserve-info {
    border-collapse: collapse;
    background: rgba(255,255,255,0.75);
    width: 100%;
}
.reserve-info td {
    width: 12.5%;
    padding: 4px 0;
    text-align: center;
    border: 1px solid #e7e7e7;
}
tr.reserve-kbn>td {
    font-size: 11px;
}
tr.reserve-status>td {
    font-size: 12px;
    vertical-align: middle;
}
tr.reserve-status>td .reserve-able {
    font-size: 18px;
    font-weight: bold;
    color: #ffbd4f;
}
.result {
    background: #efefef;
}
.search-link-field {
    background: #efefef;
}
.searchResultListBanner {
    margin: -5px 0 11px;
}
ul#home li ul.result li.result-item .safety {
    padding: 8px 8px 0;
}
.search-link-inside-field>a {
    display: block;
}
.topmenu>* {
    vertical-align: bottom;
    display: inline-block;
}
.icons-wrap>.review_cnt {
    width: auto;
    position: relative;
    display: inline-block;
    font-size: 12px;
}
.review_cnt_btn {
    color: #ff9900;
    position: relative;
    display: block;
    background: #fff;
    padding:4px 3px;
    border: 2px solid;
    border-radius: 6px;
    font-size: 11px;
    margin: 6px 0 1px;
    overflow: hidden;
}
.shop_nav_list{
    display: block;
    text-align: center;
    padding : 20px;
}
.shop_nav_list span{
    display: block;
    border-top: 20px solid rgb(244,244,244);
    border-bottom: 20px solid rgb(244,244,244);
    border-left: 60px solid rgb(244,244,244);
    border-right: 60px solid rgb(244,244,244);
    border-radius: 7px;
    background-color: rgb(244,244,244);
    font-size: 20px;
    color: rgb(50, 90, 180);
    font-weight: bold;
    cursor: default;
}
.director_coupon{
    padding: 0;
    height: 37px;
    margin-top: 12px;
}
.director_coupon img{
    position: relative;
    top: -10px;
    float: left;
    margin-right: 5px;
    height: 47px;
}
.director_coupon .before{
    font-size: 12px;
    margin-top: 3px;
}
.director_coupon .after{
    margin-top: 2px;
    font-size: 20px;
}
.director_coupon .after .time{
    color: #333;
    font-weight: initial;
    font-size: 12px;
}
/* ↓ SPにテキスト追加(SEO対策) 2023/06/20 */
.area_description {
    display: block;
    position: relative;
    margin: 0 20px 20px;
    padding: 20px;
    border: 2px solid #e3e3e3;
    border-radius: 5px;
    box-sizing: border-box;
}
.area_description .seo_toggle_title {
    position: relative;
    width: 100%;
    height: auto;
    display: block;
    padding: 0 16px;
    text-align: center;
    font-weight: bold;
    line-height: 20px;
    box-sizing: border-box;
}
#seo_toggle {
    display: none;
}
.seo_toggle_text {
    display: none;
    margin: 0;
    font-size: 14px;
    line-height: 1.9;
}
#seo_toggle:checked + .seo_toggle_title + p.seo_toggle_text {
    display: block;
    margin-top: 20px;
}
div.seo_toggle_arrow {
    position: absolute;
    top: calc(50% - 8px * 1 / 1.4);
    right: 0;
    width: 8px;
    height: 8px;
}
#seo_toggle:checked + .seo_toggle_title div.seo_toggle_arrow {
    top: calc(50% - 8px * 1 / 1.4 + 4px);
    transform: rotate(180deg);
}
#seo_toggle + .seo_toggle_title div.seo_toggle_arrow::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 8px;
    height: 8px;
    background-color: #000000;
    transform: rotate(45deg);
}
#seo_toggle:checked + .seo_toggle_title div.seo_toggle_arrow::before {
    transform: rotate(225deg);
}
#seo_toggle + .seo_toggle_title div.seo_toggle_arrow::after {
    content: "";
    position: absolute;
    top: -3px;
    right: 0;
    width: 8px;
    height: 8px;
    background-color: #FFFFFF;
    transform: rotate(45deg);
}
#seo_toggle:checked + .seo_toggle_title div.seo_toggle_arrow::after {
    transform: rotate(225deg);
}
/* ↑ SPにテキスト追加(SEO対策) 2023/06/20 */
.smr_rank{
    display: inline-block;
    height: 40px;
    width: 450px;
}
.smr_rank_body{
    display: inline-block;
    font-weight: bold;
    color : #e55d40;
}
.smr_rank_body img{
    display: inline-block;
    margin-top: -3px;
    height: 23px;
    float: left;
}
.smr_rank_body span{
    display: inline-block;
    float: right;
    padding-left: 3px;
    font-size: 19px;
}
.footer-bnr{
    margin-top: 6px;
}
.admin_review p span {
    font-weight: 600;
    font-size: 13px;
}
.admin_review {
    padding: 0 8px;
    margin: 0 0 8px;
}
div.shop_bottom.dcdata dd {
    padding-top: 7px;
    font-size: 12px;
}
div.shop_bottom.dcdata p {
    padding-bottom: 2px;
    border-bottom: 1px solid #e7e7e7;
    vertical-align:baseline;
}
div.shop_bottom {
    word-break: break-all;
    word-wrap: break-word;
    line-height: 1.4;
    font-size: inherit;
    padding: 6px 13px 5px;
    border: 1.5px solid #e7e7e7;
    border-radius: 5px;
}
dd.admin_review_body {
    max-height: 33px;
    overflow: hidden;
}
dd.admin_review_more {
    text-align: right;
}
dd.admin_review_more span.admin_review_more_btn {
    cursor: pointer;
    color: #000da9;
}
div.shop_bottom.dcdata a {
    display: inline-block;
    padding: 0; margin: 0;
    font-family: sans-serif;
    font-size: inherit;
    line-height: 1.4;
    vertical-align:baseline;
    color: #000da9;
}
.tab_search_cond {
    display: flex;
    margin-top: 1px;
    border-bottom: 5px solid #107ff5;
}

.tab_search_cond>div {
    display: flex;
    margin: auto;
    font-size: 13px;
    width: 100%;
    align-items: flex-end;
    font-weight: bold;
}

.tab_search_cond__contents {
    text-align: center;
    border-radius: 5px 5px 0 0;
    padding: 10px 0;
    width: 100%;
    margin: 0 1px;
    background: #ccc;
}
.tab_search_cond__contents span{
    position:relative;
    top:2px;
}

.tab_search_cond__contents.tab_active {
    background-color: #107ff5;
    padding: 15px 0;
    color: #fff;
}

.genre_block {
    border-bottom: 1px solid #c2c2b6;
}
.genre_title{
    font-size: 11px!important;
    font-weight: inherit!important;
    height: 25px!important;
    line-height: 25px!important;
    border-bottom: 1px solid #c2c2b6;
    padding: 0px 10px;
    clear: both;
    background-color: #efeee7;
}
.genre_title.new{
    border-top: 1px solid #c2c2b6;
}
.genre-contents{
    display: flex;
    max-width: 320px;
    margin: 10px auto;
    text-align: center;
}
.genre-contents a {
    width: 48%;
    border: 1px solid #ccc;
    padding: 8px 5px;
    margin: 0 3px;
    border-radius: 20px;
    font-weight: bold;
    font-size: 13px;
}

.nights_link {
    display: flex;
    justify-content: center;
    max-width: 250px;
    text-align: center;
    height: 17px;
    border: 1px solid #ffc214;
    border-radius: 20px;
    padding: 2px 4px;
    line-height: 16px;
    color: #888;
    font-size: 10px;
    margin: auto;
}

.nights_link__img {
    max-height: 16px;
    margin-right: 3px;
}

.nights_link__text {
    font-weight: bold;
}
.nominate-wap {
    padding: 0 8px;
    margin: 12px 0 4px;
    font-size: 13px;
    font-weight: bold;
}
.nominate-wap>a {
    color: #1242c0;
}

.grop_shop {
    overflow-x: auto;
    white-space: nowrap;
}
.group_shopdetail {
    display: inline-block;
    width: 40%;
    margin: 5px 2px;
    color: #1242c0;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 7px 5px 5px;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.shop_name{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 18px;
}
.more_button{
    color: #fff;
    width: 100px;
    background: #ccc;
}

.result .result-item {
    position: relative;
}
.partner-flame-upper {
    position: absolute;
    width: 100%;
    top: 0;
}
.partner-flame-upper__flame-img,
.partner-flame-lower__flame-img {
    width: 100%;
}
.partner-flame-upper__space {
    width: 100%;
    height: 0;
    padding-bottom: 8%;
}
.partner-flame-lower-1 {
    position: absolute;
    width: 100%;
    height: 0;
    padding-bottom: 6.7%;
    bottom: 0;
}
.partner-flame-lower-2 {
    position: absolute;
    width: 100%;
    height: 13px;
    bottom: 0;
    padding-bottom: 0;
}
.partner-flame-lower__space-1 {
    padding-bottom: calc(6.7% - 13px);
}
.partner-flame-lower__space-2 {
    padding-bottom: 1.3%;
}
.new-year-shop{
    margin: 0px 6px 3px 6px;
}
.new-year-shop img{
    width: 100%;
}
/* ↓ 100名店バナー表示 @SMC 2023/05/25 */
.shopSeaerch_top_banner {
    overflow: hidden;
    position: relative;
    padding-top: 12.96%;
    height: 0;
}
.shopSeaerch_top_banner_link {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 0;
    transition:all ease .5s;
}
.shopSeaerch_top_banner_link.is-current {
    opacity: 1;
    pointer-events: all;
}
.shopSeaerch_top_banner>.shopSeaerch_top_banner_link>img {
    width: 100%;
    object-fit: cover;
}
/* ↑ 100名店バナー表示 @SMC 2023/05/25 */
.result .metaitemList li[itemprop="itemListElement"] {
    display: block;
}
.dailyranking-shop-parts {
    text-align: center;
    background: #fefefe;
    padding: 10px;
    margin: -12px 0 4px;
    box-shadow: 0 2px 8px rgb(0 0 0 / 10%);
}
.dailyranking-shop-parts a {
    width: 100%;
}
.ranking-list {
    display: flex;
    padding: 0 0 10px;
}
.ranking-item {
    text-align: center;
    width: 30%;
}
.ranking-item:not(:last-child) {
    margin-right: 4.7vw;
}
.ranking-item .ranking-shop-girl {
    width: 100%;
    margin: 0 0 5px;
    border-radius: 10px;
    height: 30vw;
}
.ranking-item .ranking-girl-pic {
    width: 100%;
    object-fit: cover;
    border-radius: 10px;
    height: 30vw;
}
.ranking-shop-name {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
    font-size: 12px;
}
.ranking-review-cnt {
    color: #f90;
    background: #fff;
    padding: 4px 3px;
    border: 2px solid;
    border-radius: 6px;
    font-size: 11px;
    margin: 6px 0 0;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
.ranking-link {
    padding: 10px;
    border: #c0c0c0 1px solid;
    border-radius: 6px;
    background: #ffffff;
    font-size: 16px;
    font-weight: bold;
}
#ad-multi-searchlist-banner-hidden {
    visibility: hidden;
    height: 0;
    width: 0;
    overflow: hidden;
}
.multi-searchlist-item .pr_icon,
.multiSearchListBanner .pr_icon,
.multiSearchListBanner_processed .pr_icon {
    font-size: 14px;
    padding: 2px 5px;
    border-color: darkgray;
    border-radius: 4px;
    border-style: solid;
    border-width: 2px;
    background-color: white;
    color: black;
}
ul li.reserve-popup-version {
    padding: 0;
}
.reserve-popup {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 100;
    font-size: 14px;
    overflow: auto;
}
/* ↓ 2023/08/25 SPお店検索UI変更 */
.reserve-popup-close {
    display: block;
    position: absolute;
    top: 14px;
    right: 15px;
}
/* ↑ 2023/08/25 SPお店検索UI変更 */
.reserve-popup-box {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 90%;
    height: 78px;
    background-color: #fff;
    border-radius: 22px;
    align-items: center;
    transform: translate(-50%, -50%);
    padding: 15px 10px;
}
.result .reserve-popup-box a.search_btn {
    right: 10px;
    bottom: 18px;
}
.review_wrap {
    margin: 8px 0 8px;
}
.review_menu {
    display: flex;
    padding: 0 8px;
    clear: both;
}
.review_menu li {
    width: 100px;
    text-align: center;
    color: #797979;
    border: 1px solid #797979;
    font-size: 12px;
    font-weight: bold;
    cursor: pointer;
}
.rank_s .review_menu li {
    color: #a57e49;
    border-color: #a57e49;
}
.rank_a .review_menu li {
    color: #a54949;
    border-color: #a54949;
}
.review_menu li.active {
    background-color: #797979;
    color: #fff;
}
.rank_s .review_menu li.active {
    background-color: #a57e49;
}
.rank_a .review_menu li.active {
    background-color: #a54949;
}
.review_list {
    padding: 0 8px;
}
.review_list li {
    word-break: break-all;
    word-wrap: break-word;
    font-size: 12px;
    line-height: 1.4;
    color: #60615c;
    background: #FFF;
    border: 1px solid #e7e7e7;
}
.result .review_list li {
    padding: 0;
}
.review_list li:nth-of-type(n+2) {
    display: none;
}
.review_list .user_review a {
    display: block;
    padding: 10px;
}
.review_list li dl {
    padding: 10px;
}
.review_list .user_review a dl {
    padding: 0;
}
.review_list li dl .review_title{
    font-size: 15px;
    font-weight: bold;
}
.review_list li dl .review_rate{
    margin-left: -2px;
    margin-top: 5px;
}
.review_list li dl .admin_review_body{
    margin-top: 5px;
}
.review_list li dl .admin_review_more{
    margin-top: 5px;
}
.review-average-star-icon {
    display: inline-block;
    width: 16px;
    height: 18px;
    vertical-align: bottom;
    background-size: cover;
    background-repeat: no-repeat;
}
.review-average-star-icon.star_on {
    background-image: url('/img/shop/review/star-fill.svg')
}
.review-average-star-icon.star_half {
    background-image: url('/img/shop/review/star-half.svg')
}
.review-average-star-icon.star_off {
    background-image: url('/img/shop/review/star-border.svg')
}
.total_rate{
    position: relative;
    color: #DF9B56;
    font-weight: bold;
    padding: 0 3px 0;
    font-size: 14px;
    font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}

/* ↓ 2023/08/25 SPお店検索UI変更 */
/******************************/
/* 簡易エリア検索画面
/******************************/
.easy-search-screen {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 100;
    font-size: 14px;
    color: #555;
    overflow: auto;
}

.easy-search-header {
    border-bottom: 2px solid #dddddd;
    height: 50px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f9f8f4;
}

.easy-search-header__back {
    position: absolute;
    left: 16px;
    display: block;
    padding: 14px 12px 12px 16px;
    line-height: 1;
    font-weight: bold;
}

.easy-search-header__back:after {
    content: "";
    position: absolute;
    left: 4px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    display: block;
    width: 6px;
    height: 6px;
    border-bottom: 2px solid #aaa;
    border-left: 2px solid #aaa;
}

.easy-search-header__title {
    line-height: 1em;
    font-size: 16px;
    font-weight: bold;
}

.easy-search-list,
.easy-search-inner-list {
    padding: 0;
    margin: 0;
}

.easy-search-list {
    margin-bottom: 100px;
}

.easy-search-inner-list {
    display: none
}

.easy-search-list--li,
.easy-search-inner-list--li {
    position: relative;
    list-style: none;
    line-height: 50px;
    padding: 0 !important;
}

.easy-search-list__text,
.easy-search-list__accordion--pref,
.easy-search-list__accordion--first-area {
    font-weight: bold;
    padding-left: 10px;
}

.easy-search-list__accordion--first-area {
    padding-left: 32px;
}

.easy-search-list__text::before,
.easy-search-list__accordion--pref::before,
.easy-search-list__accordion--first-area::before {
    content: "";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%) rotate(135deg);
    display: block;
    width: 8px;
    height: 8px;
    border-top: solid 2px #aaa;
    border-right: solid 2px #aaa;
    transition: all ease .25s;
}

.easy-search-list__text::before {
    transform: translateY(-50%) rotate(45deg);
}

.easy-search-list input[type="checkbox"] {
    display: none;
}

.easy-search-list__accordion--pref,
.easy-search-list__accordion--first-area {
    width: 100%;
    height: 100%;
    display: flex;
    position: relative;
    align-items: center;
    background: #f9f8f4;
    border-bottom: 2px solid #dddddd;
    box-sizing: border-box;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.easy-search-list__accordion--pref {
    background: #E4EFFF;
}

.easy-search-list input[type="checkbox"]:checked+.easy-search-list__accordion--pref::before,
.easy-search-list input[type="checkbox"]:checked+.easy-search-list__accordion--first-area::before {
    transform: translateY(-50%) rotate(-45deg);
}

.easy-search-list input[type="checkbox"]:checked~.easy-search-inner-list,
.easy-search-inner-list--li input[type="checkbox"]:checked~.easy-search-list__second-area-list {
    display: block;
}

.easy-search-list__recommended--ul {
    display: flex;
    padding: 0;
    flex-wrap: wrap;
    padding-bottom: 10px;
}
.easy-search-list__recommended--li {
    list-style: none;
    line-height: 25px;
    margin-top: 10px;
    padding: 0 !important;
}
.easy-search-list__recommended-link {
    display: inline-block;
    padding: 2px 8px;
    margin: 0 8px;
    border: solid 1px #dddddd;
    border-radius: 5px;
    text-decoration: none;
    font-size: 14px;
    color: #555;
}

.easy-search-list__pref-link {
    display: block;
    text-decoration: none;
    font-size: 14px;
    color: #75A9FF;
    font-weight: bold;
    padding-left: 32px;
    border-bottom: 1px solid #dddddd;
}

.easy-search-list__second-area-list {
    display: none;
    padding: 0;
    margin: 0;
}

.easy-search-list__second-area-list--li {
    list-style: none;
    border-bottom: 1px solid #dddddd;
    padding: 0 !important;
}

.easy-search-list__second-area-link {
    display: block;
    font-size: 14px;
    color: #75A9FF;
    font-weight: bold;
    text-decoration: none;
    padding-left: 64px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* ↑ 2023/08/25 SPお店検索UI変更 */

/* 百名店アイコンの表示ずれ修正 @sc 2025/01/27 */
.result-item .icons-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.result-item .icons-wrap img {
    display: flex;
    align-items: center;
}

.result-item .icons-wrap > .special_icon._hyakumeiten,
.result-item .icons-wrap > .review_cnt,
.result-item .icons-wrap > .recruit,
.result-item .icons-wrap > .newyear_bnr,
.result-item .icons-wrap > .visitpoint {
    display: flex;
    align-items: center;
}

.result-item .icons-wrap > .special_icon._hyakumeiten,
.result-item .icons-wrap > .review_cnt > .review_cnt_btn,
.result-item .icons-wrap > .recruit > .recuit_btn,
.result-item .icons-wrap > .newyear_bnr,
.result-item .icons-wrap > .visitpoint > .visitpoint_btn {
    margin: 0;
}
/* 百名店アイコンの表示ずれ修正 @sc 2025/01/27 */