@charset "utf-8";
html,
body {
    font-family: 'メイリオ', Helvetica, Arial, sans-serif;
    color: #444;
    position: relative;
    -webkit-text-size-adjust: 100%;
}
a:hover{
    text-decoration: none;
}

#bodywrap {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    height: 100vh;
}

.clearfix:after {
    content: "";
    clear: both;
    display: block;
}

img {
    max-width: 100%;
}

.half {
    float: left;
    width: 50%;
/* ↓ H1810_来店ポイント対応 2022/10/31 */
    /* padding: 10px 10px 8px; */
    padding: 10px 8px 8px;
/* ↑ H1810_来店ポイント対応 2022/10/31 */
    box-sizing: border-box;
}

.line01 {
    border-bottom: 1px solid #f0f0f0;
    height: 1px;
}

.tgt {
    opacity: 0;
    z-index: 0;
    position: absolute;
    top: 12px;
    left: 80px;
}

.tgt span {
    display: none;
    float: left;
}

.tgt span.cur {
    display: block;
}

a.blue {
    color: #3366cc;
}


/* ヘッダー */

.headerFixed {
    border-bottom: none;
    box-shadow: none;
    position: relative;
    top: 0px;
    height:47px;
    overflow: hidden;
}

.headerFixed.sticky {
    position: fixed;
    top: 0;
    z-index: 4;
    width: 100%;
    box-shadow: 0 0 2px #333;
    -moz-transition-duration: 0.5s;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
    height:40px;
}

.headerFixed.sticky {
    background: rgba(255, 255, 255, 1);
}

.headerFixed.sticky #header .headerLeft .logo_left {
    display: none;
}

.headerFixed.sticky #header .headerLeft img {
    height: 30px;
}

.headerFixed.sticky .hamburger p {
    display: none;
}
.headerFixed.sticky .user {
    display: none;
}

.headerFixed #header .headerRightFloat {
    float: left;
}
.headerFixed #header .headerRightFloat:after{
    clear: both;
}

.headerFixed #header .headerRightLogin .hamburger {
    position: relative;
    width: 44px;
    top: 8px;
}
.headerFixed.sticky #header .headerRightLogin .hamburger{
    top:8px;
}


.hamburger p {
    padding: 0;
    margin: 0;
    position: relative;
    top: 0px;
    right: 0;
    -webkit-transform: scale(0.8);
    -moz-transform: scale(0.8);
    -ms-transform: scale(0.8);
    -o-transform: scale(0.8);
    transform: scale(0.8);
    text-align: center;
    font-weight: bold;
    color:#000!important;
}

div.close-up td.list-txt .link_text{
    line-height:14px !important;
}

.menu-trigger,
.menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
}

.menu-trigger {
    position: relative;
    width: 25px;
    height: 18px;
    margin: 0 auto 3px;
    text-align: left;
    left: -10px;
    ;
}

.menu-trigger:before {
    content: "";
    position: absolute;
    top: -4px;
    right: -4px;
    color: #DD0000;
    font-size: 25px;
    z-index: 1;
    width: 10px;
    height: 10px;
    background: #DD0000;
    border-radius: 50%;
}

.menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #000!important;
    border-radius: 4px;
}

.menu-trigger span:nth-of-type(1) {
    top: 0;
}

.menu-trigger span:nth-of-type(2) {
    top: 8px;
}

.menu-trigger span:nth-of-type(3) {
    top: 16px;
}

.menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(20px) rotate(-45deg);
    transform: translateY(10px) rotate(-45deg);
}

.menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
}

.menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-20px) rotate(45deg);
    transform: translateY(-6px) rotate(45deg);
}

.headbanner {
    position: relative;
    background-color: white;
    padding-bottom: 2.5px;
}

/* ↓性能改善（PSIv6対応）第3弾 2020/7/20 */
.adm-layoutshift-loading {
/* ↓ ページスピード改善対応 2021/02/25 */
/*  background-image: url(//img.cityheaven.net/img/icon/smart/loadingdots.svg); */
  background-image: url(//img.cityheaven.net/img/icon/smart/loadingdots.svg?cache02=1614178800);
/* ↑ ページスピード改善対応 2021/02/25 */
    background-position: center;
    background-repeat: no-repeat;
    background-size: 60px;
}
/* ↑性能改善（PSIv6対応）第3弾 2020/7/20 */

.logo_left {
    float: left;
    width: 40px;
    vertical-align: middle;
    height: 40px;
    padding: 0 !important;
    border: solid 2px #ccc;
    border-radius: 50%;
    background: #fff;
}
.header_bn img {

    border-radius: 50%;
    animation-name: fadeIn;
    -webkit-animation-name: fadeIn;
    animation-duration: 1.5s;
    -webkit-animation-duration: 1.5s;
    animation-timing-function: ease-in-out;
    -webkit-animation-timing-function: ease-in-out;
    visibility: visible !important;
}

.headerFixed #header .headerLeft .logo a {
    display: inline-block;
}

div.logo p {
    display:inline-block;
    max-width:80px !important;
    line-height: 1;
    vertical-align:bottom;
}
nav.sticky #header .headerLeft .logo a p{
    bottom:2px;
}
div.logo span.logoarea {
    font-size: 14px !important;
    font-weight: bold;
    color: #222;
    line-height: 1.1;
    padding: 0 3px;
     display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
img.logo_left_img_spin {
    display: none;
}

/* パンくずリスト */

.topic_path_wrap {
    width: 100%;
    overflow: hidden;
}

ul.topic_path {
    list-style: none;
    display: inline-table;
    width: 200%;
    background-color: #3EA1FF;
    padding: 3px 0;
    position: relative;
    margin-bottom: 5px;
}

ul.topic_path li {
    display: inline;
    float: left;
}

ul.topic_path li a {
    display: block;
    float: left;
    height: 30px;
    background: #e4ecf8;
    padding: 0px 5px 0 18px;
    position: relative;
    font-size: 13px;
    text-decoration: none;
    color: #fff;
    margin: 0 3px 0 0;
    line-height: 30px;
    color: #000;
}

ul.topic_path li a:after {
    content: "";
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 10px solid #e4ecf8;
    position: absolute;
    right: -10px;
    top: 0;
    z-index: 1;
}

ul.topic_path li a:before {
    content: "";
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 10px solid #3EA1FF;
    position: absolute;
    left: 0px;
    top: 0;
}

ul.topic_path li:first-child a {
    padding: 0 0px;
}

ul.topic_path li:first-child a:before {
    display: none;
}

ul.topic_path li:last-child a {
    background-color: #3EA1FF;
    padding-left: 15px;
    color: #fff;
}

ul.topic_path li:last-child a:after {
    display: none;
}


/* ガイドぺージ */

.headerTitle {
    display: table;
    width: 100%;
    background-color:#5984d0;
    height: 30px;
}

.headerTitle.closeupTitle {
    background: -moz-linear-gradient(center top, #525252, #3C3C3C);
    background: -webkit-gradient(linear, center top, center bottom, from(#525252), to(#3C3C3C));
}

.headerTitle.girlsTitle {
    background:#e58bc7 none repeat scroll 0 0;
}

.headerTitle.mensTitle {
    background:#2a898d none repeat scroll 0 0;
}

.headerTitle h2 {
    font-size: 13px;
    padding-left: 10px;
    display: table-cell;
    vertical-align: middle;
    color: #ffffff;
}

.headerTitle .headerTitleMore {
    font-size: 12px;
    float: right;
    margin-right: 10px;
    font-weight: normal;
    line-height: 30px;
}

.headerTitle .headerTitleMore a {
    color: white;
}

.headerTitle .headerTitleMore a span {
    margin-left: 10px;
}

ul#home {
    padding-top: 0;
}

#guide {
    font-size: 14px;
    position: relative;
    overflow: hidden;
}

#guide img {
    vertical-align: middle;
}

/* タブメニュー */
#guide .contents .tabmenu {
    display: table;
    width: 100%;
    border-top: 2px solid #d7d7d7;
}

#guide .contents .tabmenu .tabmenu_li{
    margin: auto;
    display: flex;
    width: 33.3%;
    max-width: 50%;
    height: 50px;
    line-height: 16px;
    text-align: center;
    border-bottom: 2px solid #d7d7d7;
    background-color: #e6e6e6;
    font-size: 12px;
    font-weight: 600;
    box-sizing: border-box;
    justify-content: center;
    align-items: center;
    float: left;
}

.twoshot {
    margin: auto;
    display: flex;
    width: 33.3% !important;
    max-width: 50%;
    height: 50px;
    line-height: 16px;
    text-align: center;
    border-bottom: 2px solid #f0f0f0;
    background-color: #f5f5f5;
    font-size: 12px;
    font-weight: 600;
    border-right: 2px solid #f0f0f0;
    box-sizing: border-box;
    justify-content: center;
    align-items: center;
    float: left;
    padding: 22px 0;
}

/*#guide .contents .tabmenu .tabmenu_li:first-child{*/
    /*border-right: 2px solid #f0f0f0;*/
/*}*/


#guide .contents .tabmenu .tab_active{
    background-color: #fff !important;
    border-bottom: none !important;
    border-top: 6px solid #5984d0;
}

#guide .search {
    border-top: none !important;
    background-color: #fff !important;
}
/* 求人ボタン */
.search_job_contents {
    background: #fff;
}
#guide .contents .search_job_contents .job_link_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
/* ↓ マイヘブンリニューアル 2020/04/01 */
/*  margin: 20px 0; */
    padding: 20px 0;
/* ↑ マイヘブンリニューアル 2020/04/01 */
    align-items: stretch;
}
#guide .contents .search_job_contents .job_link_wrap a{
    width: 29%;
    margin: 0 2%;
    padding: 16px 1%;
    text-align: center;
    box-shadow: 0 2px 0px #aaa ;
    border: 1px solid #aaa;
    border-radius: 3px;
    box-sizing: border-box;
    color: #444;
    word-break: break-all;
    background-color: #ffffff;
}
.job_link_wrap>a>img {
    height: 32px;
    width: auto;
    margin-bottom: 5px;
}
#guide .contents .search_job_contents .job_link_wrap a p{
    font-weight: 700;
    font-size: 12px;
    line-height: 1.25em;
}

#guide .contents .search_job_contents .job_link_wrap a p .small{
    font-size: 11px;
    font-weight: 400;
}
.job_link_dx {
    width: 100%;
    text-align: center;
    padding: 10px 0;
    border-top: 1px solid #ddd;
}
#guide .contents .search_job_contents .job_link_wrap .nightsbtn_show{
    display: block;
}

#guide .contents .search_job_contents .job_link_wrap .nightsbtn_hide{
    display: none;
}

/* 検索 */

#guide>li.contents {
    position: relative;
    top: 0px;
}

#guide>li.contents:after {
    position: absolute;
    top: -5px;
    left: 0;
    content: "";
    width: 100%;
    height: 10px;
    background-color: #fff;
    z-index: -1;
}

#guide .search {
    width: 100%;
    padding: 4px 10px 0;
    margin: 0px auto;
    box-sizing: border-box;
}

#guide > .contents > ul > li > .search{
    background:#fafafa;
}

#guide .search #sch-container {
    -webkit-appearance: none;
    border-radius: 5px;
    border-width: 2px;
    border-style: solid;
    border-color: #5984d0;
    background: #fff;
    height: 34px;
    padding-right: 35px;
    padding-left: 10px;
    position: relative;
    margin: 3px 0 0 0;
}

#guide .search #sch-container #sch-submit-btn {
/* ↓ ページスピード改善対応 2021/02/25 */
/*  background-image: url(//img.cityheaven.net/img/button/search.png?imgopt=y); */
  background-image: url(//img.cityheaven.net/img/button/search.png?imgopt=y&cache02=1614178800);
/* ↑ ページスピード改善対応 2021/02/25 */
    background-repeat: no-repeat;
    background-size: 15px;
    background-position: 10px;
    border: none;
    color: #FFF;
    display: block;
    font-size: 0px;
    font-weight: 700;
    height: 34px;
    line-height: 34px;
    position: absolute;
    right: 0px;
    text-align: center;
    top: 0px;
    width: 35px;
}

#guide .search #sch-container #search-ipt {
    background: 0 0;
    border-radius: 12px;
    border: 0;
    color: #000;
    display: table-cell;
    font-size: 95%;
    height: 35px;
    padding-left: 4px;
    margin-left: 62px;
    width: 90%;
}

#guide .search #sch-container img#jackword-close-btn {
    position: absolute;
    top: 8px;
    right: 35px;
    width: 18px;
    height: 18px;
}

#guide .search #sch-container #sch-submit-btn input {
    background: 0 0;
    border: 0;
    display: block;
    height: 34px;
    left: 0;
    margin: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
    text-indent: -9999px;
    top: 0;
    width: 35px;
}

#guide .search_menu {
    margin: 0px auto;
    box-sizing: border-box;
    width: 100%;
    padding: 7px 10px 8px;
    background: #fafafa;
    position: relative;
    overflow: hidden;
}

#guide .search_menu .search_menu_box {
    position: relative;
    float: left;
    width: 32%;
    font-weight: 700;
    text-align: center;
    box-shadow: 0 0 2px #aaa;
    border-radius: 3px;
    color: #444;
    margin-right: 2%;
    word-break: break-all;
    padding: 4px 0 4px;
    font-size: 12px;
    background-color: rgba(255, 255, 255, 0.6);
}

#guide .search_menu .search_menu_box:last-child {
    margin-right: 0%;
}

#guide .search_menu .search_menu_box a {
    height: 72px;
    margin: 0 auto;
    text-align: center;
    box-sizing: border-box;
    color: #444;
    line-height: 1.2;
}

#guide .search_menu .search_menu_box a p{
    font-size:14px;
}
#guide .search_menu .search_menu_box a img{
margin: auto;
display: block;
width: 35px;
height: 35px;
}
#guide .search_menu .search_menu_box span.small {
    font-size: 11px;
    font-weight: normal;
}

#guide .hotelmap {
    display: block;
    position: absolute;
    bottom: 5px;
    right: 5px;
}

#guide .designation{
    padding: 15px 10px;
}

.b_textlink{
    color:#333;
    border-bottom: 1px solid #F0F0F0;
}

/*一発検索*/

#guide .search_variaus {
    position: relative;
    height: 110px;
    overflow: hidden;
}

#guide .search_variaus9 {
    position: absolute;
    top: 0;
    left: 0;
    white-space: nowrap;
    font-size: 0;
    width: 100%;
}

#guide .search_variaus9.search_variaus9--add {
    width: 100%;
}

#guide .search_variaus9 .one_third {
    display: inline-block;
    margin: 0;
    width: 33.33%;
    vertical-align: top;
}

#guide .search_variaus9.search_variaus9--add .one_third {
    width: 30%;
}

#guide .search_variaus9 .one_third a {
    display: block;
    width: 100%;
    padding: 10px 0 10px 12px;
    border-bottom: 1px solid #f0f0f0;
    font-size: 15px;
    color: #444;
    font-weight: 700;
    box-sizing: border-box;
    overflow: hidden;
}

#guide .search_variaus9 .one_third a:first-child {
    border-top: 1px solid #f0f0f0;
}

#guide .one_third a.num1 {
    box-shadow: 5px 0 0 0 #80CBC4 inset;
}

#guide .one_third a.num2 {
    box-shadow: 5px 0 0 0 #FFE082 inset;
}

#guide .one_third a.num3 {
    box-shadow: 5px 0 0 0 #F48FB1 inset;
}

#guide .one_third a.num4 {
    box-shadow: 5px 0 0 0 #CE93D8 inset;
}

#guide .one_third a.num5 {
    box-shadow: 5px 0 0 0 #81D4FA inset;
}

#guide .one_third a.num6 {
    box-shadow: 5px 0 0 0 #90A4AE inset;
}

#guide .one_third a.num7 {
    box-shadow: 5px 0 0 0 #BCAAA4 inset;
}

#guide .one_third a.num8 {
    box-shadow: 5px 0 0 0 #FFCC80 inset;
}

#guide .one_third a.num9 {
    box-shadow: 5px 0 0 0 #81C784 inset;
}
.search_variaus_a {
    background-color: #f7f7f7;
    padding: 10px 10px 5px;
    border-top: 1px solid #f0f0f0;
    border-bottom: 1px solid #f0f0f0;
    max-height: 25px;
    overflow: hidden;
}

.search_variaus_a.search_variaus_a--expand {
    max-height: inherit;
}

.search_variaus_a a {
    display: inline-block;
    white-space: nowrap;
    height: 12px;
    min-width: 30px;
    text-align: center;
    font-size: 12px;
    line-height: 12px;
    color: #ffffff;
    padding: 5px;
    margin: 0 4px 8px 0px;
    background: -moz-linear-gradient(top, #454545 0%, #545454);
    background: -webkit-gradient( linear, left top, left bottom, from(#454545), to(#545454));
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    border: 1px solid #aaaaaa;
    text-shadow: 0px -1px 0px rgba(000, 000, 000, 0.4), 0px 1px 0px rgba(255, 255, 255, 0.3);
}

.search_variaus_a .check_word {
    display: inline-block;
    font-size: 12px;
    padding: 4px 2px 4px 22px;
/* ↓ ページスピード改善対応 2021/02/25 */
/*  background-image: url(//img.cityheaven.net/img/icon/icon_c_up.svg); */
  background-image: url(//img.cityheaven.net/img/icon/icon_c_up.svg?cache02=1614178800);
/* ↑ ページスピード改善対応 2021/02/25 */
    background-repeat: no-repeat;
    background-position: center left;
}

.search_variaus_a.search_variaus_a--expand .check_word {
/* ↓ ページスピード改善対応 2021/02/25 */
/*  background-image: url(//img.cityheaven.net/img/icon/icon_c_down.svg); */
  background-image: url(//img.cityheaven.net/img/icon/icon_c_down.svg?cache02=1614178800);
/* ↑ ページスピード改善対応 2021/02/25 */
}

.search_variaus_b {
    padding: 0 10px;
}

#guide .notfound {
    font-weight: bold;
    text-align: center;
    margin: 15px;
}

.showselectlist{
    padding-right:10px;
/* ↓ ページスピード改善対応 2021/02/25 */
/*  background: url(//img.cityheaven.net/img/button/smartphone/menu_menu2.png?imgopt=y) 0 0 no-repeat; */
  background: url(//img.cityheaven.net/img/button/smartphone/menu_menu2.png?imgopt=y&cache02=1614178800) 0 0 no-repeat;
/* ↑ ページスピード改善対応 2021/02/25 */
    background-size:11px;
    background-position:25px;
}

.showselectlist-lot{
    padding-right:13px;
/* ↓ ページスピード改善対応 2021/02/25 */
/*  background: url(//img.cityheaven.net/img/button/smartphone/menu_menu2.png?imgopt=y) 0 0 no-repeat; */
  background: url(//img.cityheaven.net/img/button/smartphone/menu_menu2.png?imgopt=y&cache02=1614178800) 0 0 no-repeat;
/* ↑ ページスピード改善対応 2021/02/25 */
    background-size:11px;
    background-position:35px;
}
.showselectlist-lot.wrd{
    background-position:66px;
}
/* end 検索 */


/* start 予約検索 */

.search_reserve {
    padding-top: 8px;
    border-top: 1px solid #F0F0F0;
}

.search_reserve .search_reserve_title {
    padding: 2px 30px;
    font-weight: bold;
/* ↓ ページスピード改善対応 2021/02/25 */
/*  background-image: url(../img/icon_calender.svg); */
  background-image: url(../img/icon_calender.svg?cache02=1614178800);
/* ↑ ページスピード改善対応 2021/02/25 */
    background-repeat: no-repeat;
    background-position: left 10px center;
}

.search_reserve .search_reserve_tab {}

.search_reserve .search_reserve_tab a {
    display: inline-block;
    background-color: #EFEFEF;
    margin-right: 5px;
    padding: 4px 10px 2px;
    font-size: 12px;
    border-radius: 5px 5px 0 0;
    width: 50px;
    text-align: center;
}

.search_reserve .search_reserve_tab a.on {
    background-color: #77B8DF;
    color: white;
    font-weight: bold;
}

.search_reserve .reserve_list {
    background-position: right;
    background-repeat: no-repeat;
    background-size: auto 140px;
    height: 85px;
    position: relative;
    padding-right: 30%;
    padding-top: 2px;
    padding-bottom: 2px;
}

.search_reserve .reserve_list li {
    display: block;
    float: left;
    margin-top: 6px;
    margin-left: 10px;
}

.search_reserve .reserve_list li a {
    background-color: #FFFFFF;
    border: solid 2px #77b8df;
    border-radius: 5px;
    color: #665555;
    display: block;
    padding: 8px 20px;
    text-align: center;
    vertical-align: middle;
    font-size: 10px;
}

.search_reserve .reserve_list li a span {
    font-size: 13px;
    font-weight: bold;
    color: #77b8df;
    padding-right: 4px;
}


/* end 予約検索 */

.text_recu {
    position: relative;
    top: -1px;
}

#guide .contents>ul>li {
    width: 100%;
    background: white;
    position: relative;
}

#guide .contents>ul>li.bgc_t {
    background-color: transparent;
}

#guide .center_text {
    border-bottom: 1px solid #f0f0f0;
    text-align: center;
    padding: 10px 0 8px;
}

#guide .center_text a {
    color: #444;
}

#guide .half+.half {
    border-left: 1px solid #f0f0f0;
    box-sizing: border-box;
}

#guide .expose_menu_wrap {
    white-space: nowrap;
    align-items: center;
    background: #f0f4f7;
    font-weight: bold;
    overflow: hidden;
    width: 100%;
    box-shadow: 0px 1px 0 #e1e5e8 inset;
    position: relative;
}

#guide .expose_menu {
    overflow: hidden;
}

#guide .expose_menu li {
    position: relative;
    display: table-cell;
    vertical-align: middle;
}

#guide .expose_menu li a {
    display: inline-block;
    text-align: center;
    padding: 15px 8px 15px 9px;
    color: #484e5d;
}

#guide .expose_menu li a.pr30 {
    padding-right: 30px;
}

#guide .expose_menu li a.active {
    background-color: transparent;
    color: #1D92FF;
    box-shadow: 0 -3px 0 0px #1D92FF inset;
}

#guide .expose_menu.closeup li a {
    padding: 10px 10px 11px 9px;
}

#guide .expose_menu.closeup li a.active {
    background-color: #f36874;
    color: white;
    box-shadow: none;
}

#guide .expose_menu li:not(:first-child) a::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 1px;
    height: 2rem;
    margin-top: -1rem;
    content: '';
    pointer-events: none;
    background-color: #e1e5e8;
}


/*ランキングメニュー*/

#guide .ranking_menu {
    box-sizing: border-box;
    width:98%;
    margin:0 1%;
    overflow:hidden;
    display:table;
}

#guide .ranking_menu li {
    font-size: 10px;
    display: table-cell;
    width: 14%;
    box-sizing: border-box;
    margin-right:1%;
}


#guide .ranking_menu li a {
    display: block;
    padding: 10px 0;
    text-align: center;
    font-weight: bold;
    color: #999;
}
#guide .ranking_menu li a#rankingTab6{
    letter-spacing:-2px;
}
#guide .ranking_menu li a.active {
    background-color: none;
    color: #444;
    box-shadow: 0 -3px 0 0px #1D92FF inset;
    font-weight: bold;
}

.rankingcontents {
    position: relative;
}

.contents-visibility-hidden {
    visibility: hidden;
    height: 0;
    width: 0;
    overflow: hidden;
}
.contents-visibility-hidden-b {
    display: block;
    visibility: hidden;
    height: 0;
    width: 0;
}

/* .bookmark */

#guide .contents .bookmark {
/* ↓ ページスピード改善対応 2021/02/25 */
/*  background-image: url(/img/bookmark.png?imgopt=y); */
  background-image: url(/img/bookmark.png?imgopt=y?cache02=1614178800);
/* ↑ ページスピード改善対応 2021/02/25 */
    background-size: 100%;
    bottom: 10px;
    right: 10px;
    border-radius: 5px;
    line-height: 1.2rem;
    z-index: 11;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
    position: fixed;
    text-align: justify;
    width: 200px;
    height: 110px;
    visibility: hidden;
}

#guide .bookmark img {
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    border-radius: 5px;
    margin: 3px;
}

#guide .bookmark .batsu {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 22px;
    height: 22px;
    background: white;
    text-align: center;
    line-height: 22px;
    border-radius: 5px;
    font-size: 22px;
    color: #F9EBEB;
    box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}

/*自社スライドバナー*/
#ownbnner{
    position: relative;
}
#ownbnner .flex-prev {
/* ↓ ページスピード改善対応 2021/02/25 */
/*  background: url(//img.cityheaven.net/img/guide/btnPrev.png?imgopt=y) 50% 50% no-repeat rgba(0, 0, 0, 0.6); */
  background: url(//img.cityheaven.net/img/guide/btnPrev.png?imgopt=y&cache02=1614178800) 50% 50% no-repeat rgba(0, 0, 0, 0.6);
/* ↑ ページスピード改善対応 2021/02/25 */
    z-index: 4;
    cursor: pointer;
    border-radius: 20px;
    text-align: center;
    display: block;
    top: 50%;
    width: 22px;
    height: 40px;
    opacity: 0.8;
    position: absolute;
    margin-top: -20px;
    left: 5px;
}

#ownbnner .flex-next {
/* ↓ ページスピード改善対応 2021/02/25 */
/*  background: url(//img.cityheaven.net/img/guide/btnNext.png?imgopt=y) 50% 50% no-repeat rgba(0, 0, 0, 0.6); */
  background: url(//img.cityheaven.net/img/guide/btnNext.png?imgopt=y&cache02=1614178800) 50% 50% no-repeat rgba(0, 0, 0, 0.6);
/* ↑ ページスピード改善対応 2021/02/25 */
    z-index: 4;
    cursor: pointer;
    border-radius: 20px;
    text-align: center;
    display: block;
    top: 50%;
    width: 22px;
    height: 40px;
    opacity: 0.8;
    position: absolute;
    margin-top: -20px;
    right: 5px;
}

/* slide */


a.slider-nav.prev {
/* ↓ ページスピード改善対応 2021/02/25 */
/*  background: url(/img/button/smartphone/btnPrev.png?imgopt=y) 50% 50% no-repeat rgba(0, 0, 0, 0.6); */
  background: url(/img/button/smartphone/btnPrev.png?imgopt=y&cache02=1614178800) 50% 50% no-repeat rgba(0, 0, 0, 0.6);
/* ↑ ページスピード改善対応 2021/02/25 */
    left: 5px;
}

.slider-nav.next {
/* ↓ ページスピード改善対応 2021/02/25 */
/*  background: url(/img/button/smartphone/btnNext.png?imgopt=y) 50% 50% no-repeat rgba(0, 0, 0, 0.6); */
  background: url(/img/button/smartphone/btnNext.png?imgopt=y&cache02=1614178800) 50% 50% no-repeat rgba(0, 0, 0, 0.6);
/* ↑ ページスピード改善対応 2021/02/25 */
    right: 5px;
}

a.slider-nav {
    z-index: 1;
    cursor: pointer;
    border-radius: 20px;
    text-align: center;
    display: block;
    top: 50%;
    width: 22px;
    height: 40px;
    opacity: 0.8;
    position: absolute;
    margin-top: -20px;
}


.link_list {
    border-bottom: 1px solid #F0F0F0;
    padding: 2px 0;
    position: relative;
}
#topic_h{
    border-bottom:none;
}
#topic_h_after{
    border-bottom:none;
}
.link_list li:after {
    content: "";
    clear: both;
    display: block;
}

.link_list .link_item {
    display: table;
    width: 100%;
    box-sizing: border-box;
    position: relative;
}

.link_list .link_item a {
    display: flex;
    width: 100%;
}

.link_list .link_item .link_img {
    overflow: hidden;
    vertical-align: middle;
    float: left;
    margin: 4px 0px 4px 10px;
}

.link_list li .link_item.link_item__border {
    border-bottom: 1px solid #F0F0F0;
}

.link_list li:last-of-type .link_item .link_text,
.link_list li .link_item.link_item__border .link_text {
    border-bottom: none;
}

.link_list .link_item .link_text {
    display: table-cell;
    font-size: 15px;
    color: #444;
    text-align: justify;
    width: 100%;
    overflow: hidden;
    padding-right: 10px;
    border-bottom: 1px solid #F0F0F0;
    padding-left: 10px;
    position: relative;
    line-height:18px;
    font-weight: bold;
    flex: 1;
    vertical-align: middle;
}

.link_list .link_item .link_text>p {
    font-size: 11px;
    margin-top: 0px;
    color: #999;
    font-weight: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}
.link_list.news .link_item.is_large .link_img {
    width: 93px;
    height: 93px;
    overflow: hidden;
}
.link_list.news .link_item.is_large .link_text {
    padding: 11px 10px;
    width: calc(100vw - 103px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: unset;
    box-sizing: border-box;
}

/*今日の風俗ニュース*/

.link_list.news .link_item .link_img {
    width: 52px;
    height: 52px;
    overflow: hidden;
}

/*↓(ニュース文字制限)*/
.link_list.news .link_item .link_text {
    padding: 11px 10px 11px 10px;
    width: calc(100vw - 62px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
}
ul.link_list.news li .link_item a .link_text time.date{
    margin-top:4px;
}
ul.news > li >.link_item > a > .link_text{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    width: 275px;
    float: left;
}
@media screen and (min-width: 0px) and (max-width: 320px) {
    ul.news > li >.link_item > a > .link_text{
        width:230px;
    }
    .link_list.news .link_item .link_text{
        padding: 12px 18px 12px 10px;
    }
}
/*↑(ニュース文字制限)*/
.link_list.news .news_category {
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    z-index: 1;
    background: white;
    text-align: left;
    line-height: 1rem;
}

.link_list.news .news_category a {
    color: #1242C0;
    padding-top: 10px;
    padding-right: 10px;
    box-sizing: border-box;
    font-size: 11px;
    text-align: right;
    font-weight: bold;
    display: table;
    width: 100%;
}

.link_list.news .news_category a+a {
    padding-top: 20px;
}


/*今日の風俗ニュース*/

.link_list.pickup .link_item .link_img {
    width: 96px;
    height: 96px;
}

.link_list.pickup .link_item .link_text {
    font-size: 14px;
    vertical-align: top;
    padding-top: 8px;
    flex: 1;
}

.link_list.pickup .link_item .link_text>p {
    margin-top: 8px
}

/* 直送便 */
.category-icon {
    text-align: center;
    vertical-align: middle;
    display: inline-block;
    padding: 1px 3px 0;
    border: 1px solid;
    border-radius: 3px;
    font-size: 10px;
    margin-bottom: 2px;
    line-height: 12px;
    min-width: 65px;
}

.link_list.tyokusou .link_item .link_img {
    width: 52px;
    height: 52px;
    margin: 8px 0 8px 10px;
}

.link_list.tyokusou .link_item .link_text {
    vertical-align: top;
    padding: 8px 10px 0 10px;
}

.link_list.tyokusou .link_item .link_text .tyokusou_time {
    margin-left: 4px;
}

.link_list.tyokusou .link_item .link_text .tyokusou_category {
    margin-bottom: 4px;
}

.link_list.tyokusou .link_item .link_text .tyokusou_text {
    color: #333;
    font-weight: bold;
    font-size: 14px;
    margin-top: 0;
    line-height: 16px;
     overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.link_list.tyokusou .link_item .link_text .tyokusou_shopname {
    font-size: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/*即ヒメ*/

.link_list.sokuhime .link_item .link_img {
    width: 88px;
    height: 88px;
}

.link_list.sokuhime .link_item .link_text {
    vertical-align: top;
    padding: 0 10px;
    width: calc(100vw - 118px);
    height:96px;
}

.link_list.sokuhime .link_item .link_text .soku_time {
    color: #F44336;
    font-size: 12px;
    margin-top: 0;
    padding: 2px 0;
}

.link_list.sokuhime .link_item .link_text .soku_time marquee {
    marquee-direction: right;
}

.link_list.sokuhime .link_item .link_text .soku_text {
    font-weight: normal;
    font-size: 13px;
    color: #444;
    line-height: 1em;
}

.link_list.sokuhime .link_item .link_text .girl_name {
    font-size: 15px;
    color: #444;
    padding: 8px 0 2px;
    font-weight: bold;
}

.marquee {
    width: 100%;
    padding: 2px 10px;
    overflow: hidden;
    position: relative;
    font-size: 15px;
    box-sizing: border-box;
    color: #444;
}

.marquee p:after {
    content: "";
    white-space: nowrap;
    padding-right: 50px;
}

.marquee p {
    margin: 0;
    padding-left: 100%;
    display: inline-block;
    white-space: nowrap;
    -webkit-animation-name: marquee;
    -webkit-animation-timing-function: linear;
    -webkit-animation-duration: 10s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-name: marquee;
    -moz-animation-timing-function: linear;
    -moz-animation-duration: 10s;
    -moz-animation-iteration-count: infinite;
    -ms-animation-name: marquee;
    -ms-animation-timing-function: linear;
    -ms-animation-duration: 10s;
    -ms-animation-iteration-count: infinite;
    -o-animation-name: marquee;
    -o-animation-timing-function: linear;
    -o-animation-duration: 10s;
    -o-animation-iteration-count: infinite;
    animation-name: marquee;
    animation-timing-function: linear;
    animation-duration: 10s;
    animation-iteration-count: infinite;
}

@-webkit-keyframes marquee {
    from {
        -webkit-transform: translate(0%);
    }
    99%,
    to {
        -webkit-transform: translate(-100%);
    }
}

@-moz-keyframes marquee {
    from {
        -moz-transform: translate(0%);
    }
    99%,
    to {
        -moz-transform: translate(-100%);
    }
}

@-ms-keyframes marquee {
    from {
        -ms-transform: translate(0%);
    }
    99%,
    to {
        -ms-transform: translate(-100%);
    }
}

@-o-keyframes marquee {
    from {
        -o-transform: translate(0%);
    }
    99%,
    to {
        -o-transform: translate(-100%);
    }
}

@keyframes marquee {
    from {
        transform: translate(0%);
    }
    99%,
    to {
        transform: translate(-100%);
    }
}


/*パララックス*/

#para {
    width: 100%;
    position: relative;
    height: 100px;
    margin: 0 auto;
    overflow: hidden;
}

#para .para_img {
    background: url(//img.cityheaven.net/img/adbanner2/adsv0000639606.jpg?update_time=20151225114059&imgopt=y) no-repeat center bottom #fff;
    background-size: 100% auto;
    display: block;
    position: fixed;
    left: 0;
    width: 100%;
    content: "";
    z-index: -1;
    height: 100%;
    bottom: 0;
    box-sizing: border-box;
}
ul.link_list.pickup li .link_item a .link_text{
    height:96px;
}
ul.link_list.sokuhime li .link_item a .link_text{
    height:96px;
}
ul.link_list.syame li .link_item a .link_text{
    height:88px;
}
#topic_h li .link_item a .link_text{
    height:60px;
}
ul.link_list.genrepart li .link_item a .link_text{
    height:50px;
}
ul.link_list.girlsContent li .link_item a .link_text{
    height:60px;
    padding:7px;
}
ul.link_list.mensContent li .link_item a .link_text{
    height:60px;
    padding:7px;
}
ul.link_list.newface li .link_item a .link_text{
    padding-top:4px;
    height:92px;
}
.link_list.ipangenre .link_item a .link_text{
    height:55px!important;
}
/* 写メラー */

.symer {
/* ↓ ページスピード改善対応 2021/02/25 */
/*  background-image: url(//img.cityheaven.net/img/icon/bg_syamer.jpg?imgopt=y); */
  background-image: url(//img.cityheaven.net/img/icon/bg_syamer.jpg?imgopt=y&cache02=1614178800);
/* ↑ ページスピード改善対応 2021/02/25 */
    background-position: top left;
    background-repeat: no-repeat;
    background-size: 50px;
    padding: 8px 10px 10px;
    box-sizing: border-box;
    border-bottom: 1px solid #F0F0F0;
}

.symer .symer_title {
    font-size: 14px;
    font-weight: bold;
    color: #999;
    padding: 10px 0 10px 25px;
}

.symer .symer_img {
    width: 100px;
    height: 100px;
    overflow: hidden;
    float: left;
    margin-right: 10px;
}

.symer .syame_text {
    font-size: 15px;
    line-height: 1.4rem;
}

.symer .syame_text .girl_name {
    font-size: 12px;
    margin-top: 8px;
}


/* 写メ日記 */

.link_list.syame .link_item {}

.link_list.syame .link_item .link_img {
    width: 88px;
    height: 88px;
    margin: 4px 0 4px 10px;
    background: #f9f9f9;;
}

.link_list.syame .link_item .link_text {
    font-size: 14px;
    padding: 4px 0px 4px 10px;
    flex: 1;
    height:88px;
}

.link_list.syame .link_item .link_text>p.syame_text {
    font-size: 15px;
    font-weight: bold;
    color: #444;
    padding: 4px 0 10px;
}
.link_list.syame .link_item .link_text>p.syame_text time.date{
    display: inline;
}
.link_list.syame .link_item .girl_box {
    margin-bottom: 4px;
}

.link_list.syame .link_item .girl_box .girl_box_img {
    width: 35px;
    height: 35px;
    border-radius: 5px;
    overflow: hidden;
    display: inline-block;
    vertical-align: middle;
}

.link_list.syame .link_item .girl_box .girl_box_text {
    display: inline-block;
    font-size: 10px;
    font-weight: normal;
    vertical-align: middle;
    color: #666;
}

.first_syame {
    width: 100%;
    max-height: 180px;
    overflow: hidden;
    text-align: center;
    padding: 0 10px;
    box-sizing: border-box;
    margin-bottom: 10px;
}

.first_syame img {
    width: 100%;
}


/* ランキング */

.link_list.ranking .link_item .link_img {
    width: 52px;
    height: 52px;
}

#rankingcontent01 .link_list.ranking .link_item .link_img ,
#rankingcontent02 .link_list.ranking .link_item .link_img ,
#rankingcontent03 .link_list.ranking .link_item .link_img ,
#rankingcontent04 .link_list.ranking .link_item .link_img {
    margin-top:0;
    margin-bottom:0;
}
#rankingcontent05 .link_list.ranking .link_item .link_img {
    width: 60px;
    height: 45px;
}

ul.link_list.ranking li .link_item a .link_text {
    height:52px;
}
#rankingcontent01 .link_list.ranking .link_item .link_text ,
#rankingcontent02 .link_list.ranking .link_item .link_text ,
#rankingcontent03 .link_list.ranking .link_item .link_text ,
#rankingcontent04 .link_list.ranking .link_item .link_text {
    height:46px;
    padding-top:6px;
}
#rankingcontent05 .link_list.ranking .link_item .link_text {
    height:50px;
    padding-top:4px;
}

/*ニューフェイス*/
ul.link_list.newface li .link_item .link_text{
    padding-top:4px;
    height:92px;
}
ul.link_list.newface li .link_item .link_text p.girl_name{
    margin-top:5px;
}
ul.link_list.newface li .link_item .link_text p:last-child{
    margin-top:5px;
}
.link_list.newface .link_item .link_img {
    width: 88px;
    height: 88px;
}

.link_list.newface .link_item .link_text {
    font-size: 14px;
    margin-top: 0;
    flex: 1;
}

.link_list.newface .link_item .link_text .in_time {
    font-weight: bold;
    font-size: 14px;
    margin-top: 0;
    color: #444;
/* ↓ ページスピード改善対応 2021/02/25 */
/*  background-image: url(/img/icon/icon_004.png?imgopt=y); */
  background-image: url(/img/icon/icon_004.png?imgopt=y&cache02=1614178800);
/* ↑ ページスピード改善対応 2021/02/25 */
    background-repeat: no-repeat;
    background-position: right;
    display: inline;
    padding-right: 15px;
    background-size: 13px;
}

.link_list.newface .link_item .link_text .soku_text {
    font-weight: normal;
    font-size: 14px;
    color: #444;
}

.link_list.newface .link_item .link_text .girl_name {
    font-size: 15px;
    color: #444;
    font-weight: bold;
    padding: 2px 0;
}


/* 全国の顔出し新人娘を紹介 */

.link_list.newall {}

.link_list.newall .sub_title {
    padding: 5px 10px 2px;
    font-size: 13px;
}

.link_list.newall .link_item .link_img {
    width: 80px;
    height: 80px;
}

.link_list.newall .link_item .link_text {
    padding: 0px 10px 0px 10px;
    font-weight: bold;
}

.link_list.newall .link_item .link_text .soku_text {
    font-weight: bold;
    font-size: 14px;
    color: #444;
}

.link_list.newall .link_item .link_text .girl_name {
    font-size: 14px;
    color: #444;
}


/* 話題のH特集 */

.link_list.topic_h .link_item .link_img {
    width: 52px;
    height: 52px;
}
.link_list.topic_h.topic_h .link_item.link_item--small .link_img{
    width: 40px;
    height: 40px;
}
.link_list.topic_h .link_item .link_text {
    padding: 10px 10px 8px;
    font-weight: bold;
    box-sizing: border-box;
    width: calc(100vw - 62px);
}

.link_list.topic_h .link_item .link_text .small {
    font-size: 12px;
    color: #999;
}
ul.link_list.topic_h  li .link_item a .link_text{
    height:60px;
}

/* ジャンル別ヘブン*/
.link_list.genrepart{
        border-bottom: none;
}
.link_list.genrepart .item,
.link_list.genrepart .link_item{
    border-bottom: 1px solid #F0F0F0;
}

.link_list.genrepart .item .img ,
.link_list.genrepart .link_item .link_img {
    width: 40px;
    height: 40px;
}

.link_list.genrepart .item .text ,
.link_list.genrepart .link_item .link_text {
    padding: 10px 10px 8px;
    font-weight: bold;
    box-sizing: border-box;
    width: calc(100vw - 50px);
}

.link_list.genrepart .item .text .small ,
.link_list.genrepart .link_item .link_text .small {
    font-size: 14px;
}

/* クローズアップ */

.link_list.closeup .link_item .link_img {
    width: 80px;
    height: 80px;
}

.link_list.closeup .link_item .link_text {
    font-weight: bold;
    padding: 8px 10px 8px 10px;
}

.link_list.closeup .link_item .link_text>p {
    line-height: 1rem;
}


/* ガールズ ・メンズ */

.link_list.girlsContent li .link_item.link_item__border {
    border-color: #ECDBE7;
}

.link_list.girlsContent .link_item .link_img,
.link_list.mensContent .link_item .link_img {
    width: 50px;
    height: 50px;
}

.link_list.girlsContent .link_item .link_text {
    border-color: #ECDBE7;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
    width: calc(100vw - 62px);
}
ul.link_list.girlsContent li:nth-of-type(5){
    border-bottom:1px solid #ecdbe7;
}
ul.link_list.girlsContent li:nth-of-type(5) .link_item a .link_text{
    border-bottom:0;
}
ul.girlsContent > li >.link_item > a > .link_text,ul.mensContent > li >.link_item > a > .link_text{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    width: 275px;
    float: left;
    padding-right:15px;
}
@media screen and (min-width: 0px) and (max-width: 320px) {
    ul.girlsContent > li >.link_item > a > .link_text,ul.mensContent > li >.link_item > a > .link_text{
        width: 235px;
    }
}

.link_list.mensContent .link_item .link_text {
    border-color: #D2ECE3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
    width: calc(100vw - 62px);
}

.link_list.girlsContent {
    background-color: #ffedf9;
}

.link_list.mensContent {
    background-color: #ecfdf7;
}

#huchi {
    background-repeat: no-repeat;
    background-position: bottom 45px right 0px;
    position: relative;
    top: 5px;
    background-size: 135px;
}

#huchi .FlexBox__item.img {
    width: 55%;
    height: auto;
    text-align: right;
}

#huchi .FlexBox__item.text {
    width: 45%;
    background-repeat: no-repeat;
    background-position: bottom 54px left 2px;
    position: relative;
}

#huchi .comment {
    bottom: 15px;
    position: absolute;
    left: 5px;
}

.link_list.girlsContent .search_variaus_b {
    text-align: center;
    margin: 10px 0;
}

.link_list.girlsContent .search_variaus_b .search_variaus_b_innter a {
    display: inline-block;
    min-width: 50px;
    border-radius: 15px;
    border: 1px solid #ED86B9;
    padding: 6px 12px;
    background: white;
    text-align: center;
    margin: 5px 2px 0px 2px;
    color: #ED86B9;
}

.adv {
    font-size: 12px;
    color: #ccc;
    font-weight: normal;
    padding-top: 1px;
    padding-bottom:1px;
}

.adv.mt00 {
    margin-top: 0;
}

.heaven_adv {
    display: block;
    padding: 15px 10px;
    color: #000;
    font-weight: bold;
    border-bottom: 1px solid #f0f0f0;
}

.heaven_adv.noborder {
    border: none;
}

.heaven_adv p {
    font-size: 15px;
    line-height: 1.3rem;
    color: #444;
    padding-top: 5px;
}

.heaven_adv img {
    width: 100%;
}

.heaven_adv img.svg_hot {
    position: relative;
    top: -1px;
    width: 35px;
    left: 5px;
}


.bannerPop {
    padding: 10px;
    text-align: center;
    background: #fff;
}

.ad_link {
    text-align: center;
    font-weight: bold;
    display: block;
    padding: 15px;
    color: #1242c0;
    font-size: 15px;
}


.sub_title {
    color: #999;
    font-weight: bold;
    padding: 15px 10px 4px;
    font-size: 15px;
}

a.footer_more {
    display: block;
    padding: 15px 10px;
    margin-top: 10px;
    margin-left: 10px;
    margin-right: 10px;
    border-radius: 3px;
    background-color: #F0F4F7;
    font-weight: bold;
/* ↓ ページスピード改善対応 2021/02/25 */
/*  background-image: url(/img/icon/arrow_gray.png?imgopt=y); */
  background-image: url(/img/icon/arrow_gray.png?imgopt=y&cache02=1614178800);
/* ↑ ページスピード改善対応 2021/02/25 */
    background-repeat: no-repeat;
    background-position: 98% center;
    background-size: 10px;
    border-bottom: 20px;
    box-shadow: 0 0 0 1px #E1E5E8;
}

a.footer_more.under {
/* ↓ ページスピード改善対応 2021/02/25 */
/*  background-image: url(/img/icon/arrow_gray.png?imgopt=y); */
  background-image: url(/img/icon/arrow_gray.png?imgopt=y&cache02=1614178800);
/* ↑ ページスピード改善対応 2021/02/25 */
    background-size:10px;
}

.icon_rank {
    position: relative;
    top: -2px;
    margin-right: 2px;
}


div.close-up td.list-txt{
    font-size:15px;
}

/* メニューを切り替える*/

.clone.floating {
    position: fixed;
    top: 47px !important;/* ヘッダー追従時の高さが変更されたため調整 40 -> 47 */
    visibility: hidden;
    background: rgba(255, 255, 255, 0.9);
    z-index: 5!important;
    max-width: 100vw !important;
    overflow: hidden !important;
    box-shadow: 0 1px 1px #333;
    border-top:3px solid #5984d0;
}
.girlsTitle.clone.floating{
    border-top:3px solid #e58bc7;
}
.mensTitle.clone.floating{
    border-top:3px solid #2a898d;
}
.clone.floating h2,
.clone.floating .headerTitleMore a {
    color: #333;
}


/* 一般広告 */

#ippan {
    text-align: center;
    width: 100%;
    padding: 0 10px 10px;
    box-sizing: border-box;
}


/*animation*/

@-webkit-keyframes anime1 {
    0% {
        opacity: 0;
        -webkit-transform: translateY(3000px);
    }
    60% {
        -webkit-transform: translateY(-100px);
    }
    80% {
        -webkit-transform: translateY(100px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
    }
}

@-moz-keyframes anime1 {
    0% {
        opacity: 0;
        -moz-transform: translateY(2000px);
    }
    60% {
        -moz-transform: translateY(-30px);
    }
    80% {
        -moz-transform: translateY(10px);
    }
    100% {
        opacity: 1;
        -moz-transform: translateY(0);
    }
}

@-o-keyframes anime1 {
    0% {
        opacity: 0;
        -o-transform: translateY(2000px);
    }
    60% {
        -o-transform: translateY(-30px);
    }
    80% {
        -o-transform: translateY(10px);
    }
    100% {
        opacity: 1;
        -o-transform: translateY(0);
    }
}

@keyframes anime1 {
    0% {
        opacity: 0;
        transform: translateY(2000px);
    }
    60% {
        transform: translateY(-30px);
    }
    80% {
        transform: translateY(10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

#svglogo {
    -moz-animation: anime4 .8s ease-in-out .4s forwards;
    -webkit-animation: anime4 .8s ease-in-out .4s forwards;
    -o-animation: anime4 .8s ease-in-out .4s forwards;
    animation: anime4 .8s ease-in-out .4s forwards;
    opacity: 0;
    padding-top:5px;
    height: 30px;
}

@-webkit-keyframes anime2 {
    0% {
        opacity: 0;
        -webkit-transform: scale(.3);
    }
    50% {
        -webkit-transform: scale(1.05);
    }
    70% {
        -webkit-transform: scale(.9);
    }
    100% {
        opacity: 1;
        -webkit-transform: scale(1);
    }
}

@-moz-keyframes anime2 {
    0% {
        opacity: 0;
        -moz-transform: scale(.3);
    }
    50% {
        -moz-transform: scale(1.05);
    }
    70% {
        -moz-transform: scale(.9);
    }
    100% {
        opacity: 1;
        -moz-transform: scale(1);
    }
}

@-o-keyframes anime2 {
    0% {
        opacity: 0;
        -o-transform: scale(.3);
    }
    50% {
        -o-transform: scale(1.05);
    }
    70% {
        -o-transform: scale(.9);
    }
    100% {
        opacity: 1;
        -o-transform: scale(1);
    }
}

@keyframes anime2 {
    0% {
        opacity: 0;
        transform: scale(.3);
    }
    50% {
        transform: scale(1.05);
    }
    70% {
        transform: scale(.9);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@-webkit-keyframes anime3 {
    0% {
        opacity: 0;
        left: -50px;
    }
    100% {
        opacity: 1;
        left: 0;
    }
}

@-moz-keyframes anime3 {
    0% {
        opacity: 0;
        left: -50px;
    }
    100% {
        opacity: 1;
        left: 0;
    }
}

@-o-keyframes anime3 {
    0% {
        opacity: 0;
        left: -50px;
    }
    100% {
        opacity: 1;
        left: 0;
    }
}

@keyframes anime3 {
    0% {
        opacity: 0;
        left: -50px;
    }
    100% {
        opacity: 1;
        left: 0;
    }
}

@-webkit-keyframes anime4 {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-2000px);
    }
    60% {
        -webkit-transform: translateY(30px);
    }
    80% {
        -webkit-transform: translateY(-10px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
    }
}

@-moz-keyframes anime4 {
    0% {
        opacity: 0;
        -moz-transform: translateY(-2000px);
    }
    60% {
        -moz-transform: translateY(30px);
    }
    80% {
        -moz-transform: translateY(-10px);
    }
    100% {
        opacity: 1;
        -moz-transform: translateY(0);
    }
}

@-o-keyframes anime4 {
    0% {
        opacity: 0;
        -o-transform: translateY(-2000px);
    }
    60% {
        -o-transform: translateY(30px);
    }
    80% {
        -o-transform: translateY(-10px);
    }
    100% {
        opacity: 1;
        -o-transform: translateY(0);
    }
}

@keyframes anime4 {
    0% {
        opacity: 0;
        transform: translateY(-2000px);
    }
    60% {
        transform: translateY(30px);
    }
    80% {
        transform: translateY(-10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@-webkit-keyframes anime5 {
    0% {
        opacity: 0;
        -webkit-transform: scale(.3);
    }
    50% {
        -webkit-transform: scale(1.05);
    }
    70% {
        -webkit-transform: scale(.9);
    }
    100% {
        opacity: 1;
        -webkit-transform: scale(1);
    }
}

@-moz-keyframes anime5 {
    0% {
        opacity: 0;
        -moz-transform: scale(.3);
    }
    50% {
        -moz-transform: scale(1.05);
    }
    70% {
        -moz-transform: scale(.9);
    }
    100% {
        opacity: 1;
        -moz-transform: scale(1);
    }
}

@-o-keyframes anime5 {
    0% {
        opacity: 0;
        -o-transform: scale(.3);
    }
    50% {
        -o-transform: scale(1.05);
    }
    70% {
        -o-transform: scale(.9);
    }
    100% {
        opacity: 1;
        -o-transform: scale(1);
    }
}

@keyframes anime5 {
    0% {
        opacity: 0;
        transform: scale(.3);
    }
    50% {
        transform: scale(1.05);
    }
    70% {
        transform: scale(.9);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@-webkit-keyframes anime5_2 {
    0% {
        -webkit-transform: scale(1);
    }
    86% {
        -webkit-transform: scale(1);
    }
    90% {
        -webkit-transform: scale(.8);
    }
    94% {
        -webkit-transform: scale(1.05);
    }
    98% {
        -webkit-transform: scale(.9);
    }
    100% {
        -webkit-transform: scale(1);
    }
}

@-moz-keyframes anime5_2 {
    0% {
        -moz-transform: scale(1);
    }
    86% {
        -moz-transform: scale(1);
    }
    90% {
        -moz-transform: scale(.8);
    }
    94% {
        -moz-transform: scale(1.05);
    }
    98% {
        -moz-transform: scale(.9);
    }
    100% {
        -moz-transform: scale(1);
    }
}

@-o-keyframes anime5_2 {
    0% {
        -o-transform: scale(1);
    }
    86% {
        -o-transform: scale(1);
    }
    90% {
        -o-transform: scale(.8);
    }
    94% {
        -o-transform: scale(1.05);
    }
    98% {
        -o-transform: scale(.9);
    }
    100% {
        -o-transform: scale(1);
    }
}

@keyframes anime5_2 {
    0% {
        transform: scale(1);
    }
    86% {
        transform: scale(1);
    }
    90% {
        transform: scale(.8);
    }
    94% {
        transform: scale(1.05);
    }
    98% {
        transform: scale(.9);
    }
    100% {
        transform: scale(1);
    }
}

@-webkit-keyframes wave1 {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(-100%, 0, 0);
    }
}

/* 写メ日記表示画像関連 */
.new-arrive-photo {
    width: 108px;
    height: 108px;
}

.diary-news-photo {
    width: 100px;
    height: 60px;
}

.viewarea {
    width: 100%;
    overflow: hidden;
}
/*フローティングバナー*/
div#diaryfooter{
    z-index: 10;
    background-color: rgba(0,0,0,0.4);
}

.myAlbumDiary{
    border-top:1px solid #999;
    padding:0;
    line-height:1;
}
.myAlbumDiary .headerTitle{
    padding:0px;
    padding-top:2px;
    color:black;
    background:none;
}
.myAlbumDiary .headerTitle h2{
    padding-left:5px;
    font-size:14px;
    color:black;
    font-weight:700;
}
.myAlbumDiary .headerTitle .headerTitleMore{
    margin-right:5px;
}
.myAlbumDiary .headerTitle .headerTitleMore div{
    color:#555;
}
.myAlbumDiary .headerTitle .headerTitleMore div span{
    margin-left:2px
}
.myAlbumDiary .detial .viewport {
    overflow:hidden;
}
.myAlbumDiary .item {
    width:285px;
    margin:0;
    text-align:center;
    padding:0;
    float:left;
    color:#666;
}
.myAlbumDiary div.detial_list{
    float:left;
    font-size:12px;
    margin:1%;
    margin-right:0px;
    margin-bottom:15px;
    text-aligin:center;
    width:49%
}
.myAlbumDiary .myDiaryImg{
    overflow:hidden;
    position:relative;
}
.myAlbumDiary .myDiaryImg .myDiaryTxt{
    padding:2px 0;
    color:#fff;
    position:absolute;
    width:100%;
    bottom:0;
    background-color:rgba(0,0,0,0.6);
    text-align:left;
    line-height:14px
}
.myAlbumDiary .myDiaryImg .myDiaryTxt div{
    padding:0 5px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-family:helvetica,arial,sans-serif;
}

.headerFixed #header .headerRightFloat {
    float: left;
    text-align: right;
}

.headerFixed #header .headerRightLogin .myHeaven a img {
    height: 17px;
    position: relative;
    top: 5px;
    vertical-align: baseline;
}

.headerFixed #header .headerRightLogin li {
    text-align: right;
    margin-top:-2px;
}
/* propaganda */
li.propaganda{
    width:100%;
}
li.propaganda a{
    display:block;
    border-top:3px solid #d9dde3;
    background-color:#d9dde3;
}
li.propaganda a:first-child{
    border-top:0;
}
li.propaganda a:last-child{
    padding-bottom:6px;
}
li.propaganda a ul.box{
    overflow:hidden;
    width:100%;
/* ↓ ページスピード改善対応 2021/02/25 */
/*  background:#fff url("//img.cityheaven.net/img/icon/icon_arrow_666.png?imgopt=y") no-repeat scroll; */
  background:#fff url("//img.cityheaven.net/img/icon/icon_arrow_666.png?imgopt=y&cache02=1614178800") no-repeat scroll;
/* ↑ ページスピード改善対応 2021/02/25 */
    background-position:right 8px center;
    height:60px;
    background-size:12px auto;
}
li.propaganda a ul.box li.iconImg{
    width:70px;
    float:left;
    border-left:8px solid #fc0;
}
li.propaganda a ul.box li.iconImg.red{
    border-left:8px solid #f00;
}
li.propaganda a ul.box li.iconImg img{
    margin:4px 0 4px 8px;
    width:52px;
}
li.propaganda a ul.box li.rightText{
    margin-left:75px;
    padding-right:25px;
}
li.propaganda a ul.box li.rightText h3{
    color:#FF3300;
    font-weight:bold;
    font-size:19px;
    margin-top:13px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
li.propaganda a ul.box li.rightText p{
    font-size:10px;
    margin-top:5px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
/*ネット予約*/
#reserve_search_wrap {
    background-color: #d9dde3;
    padding: 10px;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.2) inset;
    color: #313131;
}
#reserve_search_tab {
    margin-bottom: -3px;
}
#reserve_search_tab li {
    background: rgba(248,209,140,0.5);
    font-size: 10px;
    border-top: solid 3px #f69814;
    border-left: solid 3px #f69814;
    border-right: solid 3px #f69814;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    text-align: center;
    padding: 10px;
    float: left;
}
#reserve_search_tab li.tab_top {
    background: orange;
    color: #fff;
/* ↓ ページスピード改善対応 2021/02/25 */
/*  background: url(/img/button/smartphone/yoyakubutton_back.gif?imgopt=y); */
  background: url(/img/button/smartphone/yoyakubutton_back.gif?imgopt=y&cache02=1614178800);
/* ↑ ページスピード改善対応 2021/02/25 */
    background-size: 20px;
}
#reserve_search_tab li.tab_shop,
#reserve_search_tab li.tab_girls {
    line-height: 20px;
    margin: 0 0 0 -3px;
    font-weight: bold;
    cursor: pointer;
}
#reserve_search_tab li.tab_shop img,
#reserve_search_tab li.tab_girls img {
    width: 20px;
    height: 20px;
    float: none;
    margin: -3px 2px 0 0px;
}
#girl_reserve,
#shop_reserve {
    display: none;
    background: #fff;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
    border-top-right-radius: 5px;
    border: solid 3px #f69814;
    padding: 10px;
    text-align: center;
}
#girl_reserve.select,
#shop_reserve.select {
    display: block;
}
#reserve_search_tab:after,
#reserve_search_wrap .reserve_btn_list:after {
    clear: both;
    height: 0px;
    visibility: hidden;
    display: block;
    content: ".";
}
#reserve_search_wrap .title {
    font-weight: bold;
    font-size: 11px;
}
#reserve_search_wrap .title img {
    width: 25px;
    height: 25px;
    float: none;
    margin-top: -3px;
}
#reserve_search_wrap .title .main {
    font-size: 14px;
    vertical-align: middle;
}
#reserve_search_tab li.tab_shop:hover,
#reserve_search_tab li.tab_girls:hover {
    background: #fff;
}
#reserve_search_tab li.select {
    background: #fff;
    cursor: auto;
}
#reserve_search_wrap .reserve_btn_list {
    font-size: 11px;
    width: 273px;
    margin: 0 auto;
}
#reserve_search_wrap .reserve_btn_list li {
    background: #f69814;
    border-radius: 5px;
    padding: 15px 25px;
    float: left;
    margin-bottom: 5px;
    margin-left: 5px;
    box-shadow: 0px 1px 1px rgba(0,0,0,0.3);
}
#reserve_search_wrap .reserve_btn_list li a {
    color: #fff;
}
#reserve_search_wrap .reserve_btn_list li b {
    font-size: 14px;
}
#reserve_search_wrap .reserve_btn_list li .day {
    font-size: 10px;
    letter-spacing: -1px;
}
#reserve_search_wrap p.search_link {
    position: initial;
    border: solid 2px #f69814;
    border-radius: 5px;
    padding: 12px 10px 11px 10px;
    display: block;
    margin: 5px auto 5px;
    font-size: 11px;
}

/* 女の子一覧系ページデザイン統一 */
p.girls-name {
    width: auto;
    font-size: 16px;
    font-weight: bold;
    padding-top: 2%;
    color: #1242c0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.text-content-age {
    margin-right: 8px;
}
.girls-genre-item{
    padding-top: 2%;
}
.girl-genre-icon {
    display: inline-block;
    margin: 0 2px 2px 0;
    padding: 1px 3px 0 2px;
    border: 1px solid currentColor;
    border-radius: 2px;
    font-size: 10px;
    line-height: 16px;
    color: #ffa500;
}
.girl-genre-icon.m-rank-num{
    margin-right: -2px;
}
p.girls-shop {
    padding-top: 4%;
    font-size: 10px;
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
p.girls-genre {
    padding-top: 2%;
    font-size: 10px;
    color: #969696;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
.chat-badge-g {
    color: #DD0000;
    background: #DD0000;
    border-radius: 50%;
    width: 3vw;
    height: 3vw;
    display: inline-block;
}

.menu-trigger-chat {
    top: 4px;
    right: 7px;
    position: absolute;
    color: #fff;
    font-size: 10px;
    z-index: 10;
    width: 15px;
    height: 15px;
    background: #DD0000;
    border-radius: 50%;
    line-height: 1.5em;
    text-align: center;
}

/* start AI追加改修 */


/* end   AI追加改修 */

.link_list.news .link_item.is_large .link_img {
    width: 93px;
    height: 93px;
    overflow: hidden;
}
.link_list.news .link_item.is_large .link_text {
    padding: 11px 10px;
    width: calc(100vw - 103px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: unset;
    box-sizing: border-box;
}

@media (max-width: 320px) {
    .lifemenuItem {
    width: 59px !important;
}
.lifemenuItem .lifemenuItem__icon {
    width: 22px !important;
    height: 22px !important;
}
}
@media (min-width: 321px) and (max-width: 375px){
    .lifemenuItem {
    width: 66px !important;
}
.lifemenuItem .lifemenuItem__icon {
    width: 26px !important;
    height: 26px !important;
}
}
@media (min-width: 376px) and (max-width: 414px){
    .lifemenuItem {
    width: 63px !important;
}
.lifemenuItem .lifemenuItem__icon {
    width: 25px !important;
    height: 25px !important;
}
}
/* ↓ガイドトップユーザーの口コミ追加対応 @SC 2020/05/30↓ */
.user-review-item-link {
    display: flex;
    padding: 10px;
}
.user-review-left {
    width: 80px;
    height: 80px;
    overflow: hidden;
    margin-right: 8px;
}
.user-review-left-girl-img {
    width: 100%;
}
.user-review-right {
    width: calc(100% - 88px);
}
.user-review-right-top {
    display: flex;
    align-items: center;
    margin-bottom: 4px;
}
.review-rate-stars {
    display: flex;
    align-items: center;
    margin-right: 16px;
}
.review-rate-stars-list {
    display: flex;
    padding-right: 8px;
}
.review-rate-stars-icon.star_on {
/* ↓ ページスピード改善対応 2021/02/25 */
/*     background-image: url(/img/shop/review/star-fill.svg); */
    background-image: url(/img/shop/review/star-fill.svg?cache02=1614178800);
/* ↑ ページスピード改善対応 2021/02/25 */
}
.review-rate-stars-icon.star_off {
/* ↓ ページスピード改善対応 2021/02/25 */
/*     background-image: url(/img/shop/review/star-border.svg); */
    background-image: url(/img/shop/review/star-border.svg?cache02=1614178800);
/* ↑ ページスピード改善対応 2021/02/25 */
}
.review-rate-stars-icon.star_half {
/* ↓ ページスピード改善対応 2021/02/25 */
/*     background-image: url(/img/shop/review/star-half.svg); */
    background-image: url(/img/shop/review/star-half.svg?cache02=1614178800);
/* ↑ ページスピード改善対応 2021/02/25 */
}
.review-rate-stars-list .review-rate-stars-icon {
    width: 18px;
    height: 18px;
    background-size: cover;
}
.review-rate-stars-total {
    color: #DF9B56;
    font-weight: bold;
}
.review-reservation {
    font-size: 9px;
    border: 1px solid #df9b56;
    padding: 4px 8px;
    color: #df9b56;
    border-radius: 16px;
}
.user-review-right-center {
    line-height: 1.2;
    margin-bottom: 4px;
}
.review-info-title {
    font-weight: bold;
    margin-bottom: 2px;
}
.review-info-name {
    font-size: 12px;
    color: #333;
}
.user-review-right-bottom {
    display: flex;
    align-items: center;
}
.user-info-icon {
    width: 20px;
    margin-right: 4px;
}
.user-info-personal {
    font-size: 12px;
    color: #333;
}
/* ↑ガイドトップユーザーの口コミ追加対応 @SC 2020/05/30↑ */
/* ↓ 女の子検索追加 2020/06/03 */
.girl_search {
    background-color: #FBF8F5;
    margin: 2% 2%;
}
.girl_search_link {
    width: 94%;
    padding: 3%;
}
.girl_search_img {
    display: inline-block;
    margin-right: 5px;
    margin-left: 5px;
}
.girl_search_img img {
    width: 61px;
}
.girl_search_text {
    display: inline-block;
    line-height: 18px;
    font-size: 12px;
    vertical-align: middle;
}
.inner_text2 {
    font-weight: bold;
}
.girl_search_inner {
    position: relative;
}
.girl_search_inner:after {
    content: ">";
    font-weight: 900;
    color: #cccccc;
    font-size: 125%;
    padding: 0 3px;
    position: absolute;
    right: 13px;
    top: 17px;
}
@media only screen and (max-width: 320px) {
    .girl_search_inner:after {
        right: 8px;
        top: 17px;
    }
    .girl_search_img {
        margin-right: 0px;
        margin-left: 0px;
    }
    .girl_search_img img {
        width: 45px;
    }
    .girl_search_text {
        font-size: 11px;
        line-height: 16px;
    }
}
@media screen and (min-width:321px) and ( max-width:360px) {
    .girl_search_img img {
        width: 49px;
    }
    .girl_search_inner:after {
        top: 15px;
    }
}
/* ↑ 女の子検索追加 2020/06/03 */

/*↓ 追従見出し非表示 2020/07/27 */
.headerTitle.clone.floating {
    display: none;
}
/*↑ 追従見出し非表示 2020/07/27 */
.headerLeft {
    padding: 0 0 0 5px!important;
}
.header-icon {
    position: relative;width: 40px;
    margin-top: 0px !important;
}

@media screen and (max-width:375px) {
    div.logo p {
        max-width: 64px !important;
    }
    .logo_left {
        width: 35px;height: 35px;
    }
}
@media screen and (max-width:374px) {
    li#chat-li {
        display: none !important;
    }
}
@media screen and (max-width:320px) {
    .logo_left {width: 30px !important;height: 30px !important;}
    div.logo p {max-width: 67px !important;}
}
@media screen and (max-width:280px){
    div#js-header-menu-btn {
        display: none;
    }
    .headerFixed #header .headerRightLogin li {
        width: 29px!important;
    }
    .headerFixed #header .headerRightLogin li.keep-icon img {
        max-width: 29px!important;
    }
    .hamburger {
        top: 5px!important;
    }
}


.b_large .banner_link {
    display: block;
    padding: 15px 10px;
    color: #000;
    font-weight: bold;
    border-bottom: 1px solid #f0f0f0;
    text-align: center;
    background: #fff;
}

.b_large .banner_link p {
    font-size: 15px;
    line-height: 1.3rem;
    color: #444;
    padding-top: 2px;
    text-align: left;
}

.b_large .banner_link img {
    max-width: 100%;
    max-height: 240px;
}

.b_large .banner_link .banner_text {
    font-size: 12px;
    color: #ccc;
    font-weight: normal;
    padding-top: 1px;
    padding-bottom: 1px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.b_large .banner_link .banner_text.text_left{
    text-align: left;
}

/******************************/
/* 簡易エリア検索画面
/******************************/
.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;
}

.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;
}

.easy-search-list__recommended-link {
    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;
}

.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;
}
