@charset "utf-8";
.noscroll {
    overflow: hidden;
}

#pages {
    min-width: 1080px;
    background-color: #fff4f3;
}

#pages #wrap {
    position: relative;
    width: 1040px;
    margin: 6px auto 0 auto;
    padding: 12px 20px 65px 20px;
    background-color: #fff;
    box-shadow: 0 0 3px 1px #e8e8e8;
}

#contents h2 {
    font-size: 28px;
    margin: 0 0 20px 0;
    border-bottom: 2px solid #dbdbdb;
}

.arrow_icon {
    position: relative;
    display: block;
}

.arrow_icon::after {
    position: absolute;
    top: 0;
    right: 8px;
    bottom: 0;
    display: block;
    height: 1em;
    font-family: 'icomoon';
    font-weight: normal;
    line-height: 1em;
    color: inherit;
    margin: auto 0;
    content: '\e904';
}

.sp_block {
    display: inline-block;
}

.fl_base {
    display: flex;
}

.form-parts {
    width: 100%;
    height: 30px;
    font-size: 12px;
}

textarea.form-parts, [type='text'].form-parts, [type='password'].form-parts {
    font-size: 13px;
    padding: 0 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
}

.mb0 {
    margin-bottom: 0 !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mt15 {
    margin-top: 15px !important;
}

.ml10 {
    margin-left: 10px !important;
}

.font-normal {
    font-weight: normal !important;
}

/* --------------------------------------- */
.c_red {
    color: #f00;
}

/* --------------------------------------- */
/* パンくず */
.pankuzu {
    font-size: 11px;
    margin: 0 0 10px 0;
    overflow: hidden;
}

.pankuzu li {
    display: inline-block;
    padding: 0 5px 0 0;
}

.pankuzu a {
    padding: 0 5px 0 0;
    text-decoration: underline;
}

.pankuzu li a:hover {
    text-decoration: none;
}

/* --------------------------------------- */
#pages .top-link img {
    border: 2px solid #1c294c;
}

#pages header {
    background-color: #fff;
}

#pages-nav-area {
    width: 100%;
    background-color: #2a314d;
    clear: both;
}

#pages-nav-area .nav-long {
    margin: 0;
}

#pages-nav-area .inner {
    position: relative;
}

#pages-nav-area .inner #pages-nav {
    position: absolute;
    top: -36px;
    left: 120px;
}

#pages-nav-area .inner #pages-nav li {
    float: left;
    margin: 0 10px 0 0;
}

#pages-nav-area .inner #pages-nav li:last-child {
    margin: 0 0 0 0;
}

/* ======================================================
  汎用的なリストデザイン
====================================================== */
#article-list {
    margin: 0 0 20px 0;
    padding: 10px;
    background-color: #f8f7f3;
}

#article-list li {
    position: relative;
    margin: 0 0 10px 0;
    padding: 20px 20px 15px 20px;
    background-color: #fff;
    border: 1px solid #b3b3b3;
    border-radius: 6px;
}

#article-list li article {
    position: relative;
}

#article-list li:last-child {
    margin: 0 0 0 0;
}

#article-list li .img-area {
    float: left;
    width: 150px;
}

#article-list li .img-area p {
    position: relative;
    width: 150px;
    height: 200px;
    text-align: center;
}

#article-list li .img-area p img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

#article-list li .text-area {
    float: right;
    width: 570px;
}

#article-list li .text-area .data1 {
    display: inline;
    font-size: 13px;
    line-height: 12px;
}

#article-list li .text-area .title {
    font-size: 20px;
    font-weight: bold;
    color: #005ec2;
    margin: 0 0 5px 0;
}

#article-list li .text-area .title a {
    display: block;
    width: 570px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#article-list li .text-area .icon {
    display: inline;
}

#article-list li .text-area .icon img {
    margin: 0 5px 0 0;
    vertical-align: middle;
}

#article-list li .text-area .detail {
    font-size: 14px;
    padding: 9px 15px;
    border: 1px solid #b3b3b3;
    overflow: hidden;
}

#article-list li .text-area .detail p {
    height: 67px;
    overflow: hidden;
}

#article-list li .text-area .detail .continue {
    float: right;
}

#article-list li .text-area .detail .continue a::before {
    content: '>>';
}

#article-list li .text-area .under-data {
    padding: 10px 0 0 0;
    overflow: hidden;
}

#article-list li .text-area .under-data img {
    margin: 0 0 0 5px;
    vertical-align: middle;
}

/* --------------------------------------- */
.list_common {
    font-size: 15px;
    margin-bottom: 20px;
    padding: 10px;
    background-color: #f8f7f3;
}

.list_common > li {
    position: relative;
    padding: 20px;
    background-color: #fff;
    border: 1px solid #b3b3b3;
    border-radius: 6px;
}

.list_common > li + li {
    margin-top: 10px;
}

.list_common .img {
    position: relative;
    float: left;
    width: 150px;
    height: 200px;
    text-align: center;
    margin-right: 20px;
}

.list_common .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.list_common .text_box {
    float: right;
    width: calc(100% - 170px);
}

.list_common .date {
    display: inline-block;
    font-size: 13px;
}

.list_common .title > a {
    display: block;
    font-size: 20px;
    font-weight: bold;
    padding-bottom: 5px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.list_common .border {
    margin-bottom: 5px;
    padding: 10px;
    border: 1px solid #b3b3b3;
}

.list_common .border a {
    display: block;
    font-size: 13px;
    text-align: right;
}

.list_common .border a::before {
    content: '>>';
}

.list_common .store {
    display: inline-block;
    font-weight: bold;
    vertical-align: middle;
}

.list_common .store a {
    color: #333;
}

.list_common .store.dx {
    position: relative;
    padding-right: 34px;
}

.list_common .store.dx::after {
    position: absolute;
    top: 2px;
    right: -2px;
    content: url(../images/ranking/icon16-c82f038743e9260358ed0af7bd5cef44.png);
}

.list_common .place {
    display: inline-block;
    font-size: 0.86em;
    vertical-align: middle;
}

/* 緊急メッセージ：注目記事 */
.message .pick {
    position: relative;
    padding: 18px 18px 13px;
    background-color: #fdfce8;
    border: 3px solid #f44336;
}

.message .pick::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    padding: 0 10px;
    background-color: #f44336;
    content: '注目記事';
}

/* 緊急メッセージ：カテゴリ */
.list_common .msg_category {
    height: 18px;
    line-height: 18px;
    margin-left: 6px;
    padding: 0 4px;
}

/* ======================================================
汎用 絞り込み
====================================================== */
/* タブ */
.refine_box {
    margin-bottom: 20px;
}

.refine_box .tab {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 17px;
    background-color: #262626;
    border-bottom: 3px solid #f44336;
    justify-content: center;
}

.refine_box .tab li {
    line-height: 23px;
    text-align: center;
    margin: 15px 7px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    box-flex: 1 1 auto;
}

.refine_box .tab li:last-child {
    margin-right: 0;
}

.refine_box .tab li a {
    display: block;
    font-size: 17px;
    font-weight: bold;
    color: #222;
    padding: 10px 0 8px;
    background-color: #fff;
    border-radius: 3px 3px 0 0;
}

.refine_box .tab li a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.refine_box .tab li.current a {
    color: #fff;
    background-color: #f44336;
}

.refine_conditions {
    position: relative;
    padding: 10px;
    border: 10px solid #dae2ed;
    align-items: center;
}

.refine_conditions .inner_select {
    max-width: 180px;
    font-weight: bold;
    margin-right: 14px;
    flex: 1 1 0;
}

.refine_conditions .inner_select:last-child {
    margin-right: 0;
}

.refine_conditions div > p {
    font-weight: bold;
    line-height: 1.2em;
    margin-bottom: 4px;
}

.refine_conditions div > p img {
    margin-right: 4px;
}

.refine_btn {
    width: 180px;
    height: 45px;
    font-size: 14px;
    line-height: 1.3em;
    color: #fff;
    margin-left: auto;
    padding: 10px 0;
    background-color: #1976d2;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    box-shadow: none;
}

.refine_btn img {
    margin-right: 4px;
}

/* カウント */
.article-search-number {
    margin: 20px 0;
    overflow: hidden;
}

p.count span {
    font-size: 20px;
    font-weight: bold;
    color: #f44336;
}

/* 条件選択済みの場合 */
.refine_conditions.refine_after {
    font-size: 14px;
}

.refine_conditions.refine_after .inner_select {
    max-width: 100%;
    margin-right: 14px;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.refine_conditions.refine_after .hl {
    max-width: 72px;
    font-size: 14px;
    font-weight: bold;
}

.refine_conditions.refine_after .refine_list li {
    display: inline-block;
    font-weight: normal;
    line-height: 1.7em;
    color: #444;
    margin-right: 17px;
}

.refine_conditions.refine_after .refine_list span {
    font-weight: bold;
    color: #222;
}

.refine_conditions.refine_after .release {
    text-align: center;
    margin-top: 10px;
}

.refine-left {
    display: flex;
    margin-right: 14px;
    flex-wrap: wrap;
    align-items: center;
    -webkit-box-flex: 1.0;
    -webkit-flex: 1 1 0;
    -ms-flex: 1 1 0;
    flex: 1 1 0;
}

.refine_conditions .inner_select.store_name_txt {
    max-width: 100%;
    margin-top: 10px;
    margin-right: 50px;
    flex: 1 100%;
}

#article-list li .text-area .under-data a {
    color: #111;
}

#article-list li .text-area .under-data .place {
    float: left;
    font-weight: bold;
    padding: 0 10px 0 0;
}

#article-list li .text-area .under-data .data2 {
    float: left;
}

/* ページャー */
.article-pager {
    margin: 24px 0;
    overflow: hidden;
}

.article-pager .count {
    float: left;
    line-height: 1;
}

.article-pager .count p {
    float: left;
    font-size: 16px;
    line-height: 1;
    color: red;
    margin: 0 10px 0 0;
}

.article-pager .pager {
    float: right;
}

.article-pager .pager li {
    float: left;
    line-height: 28px;
    text-align: center;
    margin: 0 3px;
}

.article-pager .pager .number a {
    display: block;
    font-size: 14px;
    color: #111;
    text-decoration: none;
}

.article-pager .pager .number {
    width: 28px;
    height: 29px;
    color: #111;
    background: url(../images/pages/article/pager-bk_off-3140e141407c9dcbca241b42a8b38544.jpg);
}

.article-pager .pager .number.active {
    background: url(../images/pages/article/pager-bk_on-b7e197d76073fb9a13850a4d59a0e0fc.jpg);
}

.article-pager .pager .number.active a {
    color: #fff;
}

.article-pager .pager .number:hover {
    width: 28px;
    height: 29px;
    background: url(../images/pages/article/pager-bk_on-b7e197d76073fb9a13850a4d59a0e0fc.jpg);
}

.article-pager .pager .number:hover a {
    color: #fff;
    text-decoration: none;
}

.pager .pager-rela {
    position: relative;
    width: 80px;
    height: 29px;
}

.pager .pager-rela img {
    position: absolute;
    top: 0;
    left: 0;
}

.pager .pager-rela .text {
    position: relative;
    left: 12px;
    width: 51px;
    line-height: 30px;
    color: #111;
    text-align: left;
}

.pager .pager-rela.pager-to-first .text, .pager .pager-rela.pager-next .text {
    left: 23px;
}

.pager .pager-rela.pager-prev .text {
    left: 29px;
}

.pager .pager-rela a {
    text-decoration: none;
}

.pager .pager-rela:hover {
    opacity: 0.8;
    text-decoration: none;
}

.pager .pager-rela.pager-to-first, .pager .pager-rela.pager-prev, .pager .pager-rela.pager-next, .pager .pager-rela.pager-to-the-end {
    background: url(../images/fuzoku/btn_medium-cd72f867c13d5bf8ce04cb47ab6462cd.png) no-repeat;
}

.pager .pager-rela.pager-to-first p::after {
    position: absolute;
    top: 8px;
    left: -18px;
    display: block;
    width: 15px;
    height: 13px;
    margin-bottom: -13px;
    background: url(../images/search/btn_arrow_begin_orange-b278ac0ea8413c69a8e41fd6aa8d0230.png) no-repeat;
    content: ' ';
}

.pager .pager-rela.pager-prev p::after {
    position: absolute;
    top: 8px;
    left: -19px;
    display: block;
    width: 16px;
    height: 13px;
    margin-bottom: -13px;
    background: url(../images/search/btn_arrow_prev_orange-c31e7ef68587f889bbe49b42964328ad.png) no-repeat;
    content: ' ';
}

.pager .pager-rela.pager-next p::after {
    position: absolute;
    top: 8px;
    right: 7px;
    display: block;
    width: 16px;
    height: 13px;
    margin-bottom: -13px;
    background: url(../images/search/btn_arrow_next_orange-9c9e3cc7ad2353d338be751a8d0aff36.png) no-repeat;
    content: ' ';
}

.pager .pager-rela.pager-to-the-end p::after {
    position: absolute;
    top: 8px;
    right: -12px;
    display: block;
    width: 16px;
    height: 13px;
    margin-bottom: -13px;
    background: url(../images/search/btn_arrow_end_orange-8d7dba967fd8725340069b6d652245ef.png) no-repeat;
    content: ' ';
}

.pager li.inactive, .pager li.inactive:hover {
    opacity: 0.5;
}

/* ページャー 3桁以上のフォントサイズを小さく */
.pager .number.triple-digit_over a {
    font-size: 10px;
}

/* ======================================================
絞り込み用 ページャー横小さいタブ
====================================================== */
.article-pager .button {
    float: right;
}

.article-pager .button li {
    width: 98px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    padding: 1px;
    background-color: #333;
}

.article-pager .button li.active {
    background-color: #ec1f30;
}

.article-pager .button li a {
    display: block;
    color: #fff;
    background-color: #545454;
    border-top: 1px solid #767676;
    border-left: 1px solid #767676;
}

.article-pager .button li.active a {
    display: block;
    color: #fff;
    background-color: #f44336;
    border-top: 1px solid #f85e4c;
    border-left: 1px solid #f85e4c;
}

.article-pager .button li:first-of-type {
    border-radius: 3px 0 0 3px;
}

.article-pager .button li:last-of-type {
    border-radius: 0 3px 3px 0;
}

.article-pager ul li.active a {
    color: #fff;
}

.article-pager .button li a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.article-pager .button li.pikup a {
    color: #ffda31;
}

.article-pager .button li.pikup a {
    padding-left: 15px;
    background: #545454 url(../images/search/search_icon06-f527cfe65dc5b15dcb1109ecdffc8552.png) 15px 3px no-repeat;
}

.article-pager .button li.pikup.active a {
    padding-left: 15px;
    background: #f44336 url(../images/search/search_icon06-f527cfe65dc5b15dcb1109ecdffc8552.png) 15px 3px no-repeat;
}

.article-pager .button li.osusume a {
    padding-left: 15px;
    background: #545454 url(../images/search/search_icon07-8385323c410db88a72d96b7f974f0311.png) 11px 3px no-repeat;
}

.article-pager .button li.osusume.active a {
    padding-left: 15px;
    background: #f44336 url(../images/search/search_icon07-8385323c410db88a72d96b7f974f0311.png) 11px 3px no-repeat;
}

.article-pager .button li.saikou a {
    padding-left: 15px;
    background: #545454 url(../images/search/search_icon08-12e70e44d969166db683643046b1adc4.png) 4px 3px no-repeat;
}

.article-pager .button li.saikou.active a {
    padding-left: 15px;
    background: #f44336 url(../images/search/search_icon08-12e70e44d969166db683643046b1adc4.png) 4px 3px no-repeat;
}

.article-pager .button li.new a {
    padding-left: 15px;
    background: #545454 url(../images/search/search_icon09-55c8e533e3cb59c1c704ade7526c6ac6.png) 17px 3px no-repeat;
}

.article-pager .button li.new.active a {
    padding-left: 15px;
    background: #f44336 url(../images/search/search_icon09-55c8e533e3cb59c1c704ade7526c6ac6.png) 17px 3px no-repeat;
}

.article-pager .change {
    float: right;
    font-size: 14px;
    text-align: right;
}

/*----------------------------------------------------
各業種TOPページ sectionの余白
----------------------------------------------------*/
.top_block {
    margin: 30px 0;
}

/* copys ---------------------------------------------------- */
/* h3-area ---------------------------------------------------- */
.page-h3-area1 {
    position: relative;
    height: 58px;
    line-height: 60px;
    padding: 0 10px;
    background: #fff;
    background: linear-gradient(to bottom, #fff 0%, #fff 50%, #eaeaea 51%, #fff 100%);
    border-top: 3px solid #ec407a;
    border-bottom: 1px solid #ccc;
}

#pages .cont-deri .page-h3-area1 {
    border-top-color: #1fb7e1;
}

#pages .cont-pub .page-h3-area1 {
    border-top-color: #00b113;
}

#pages .page-h3-area1 h3 {
    font-size: 22px;
}

#pages .page-h3-area1 h3 img {
    margin: -1px 3px 0 0;
    padding: 0 0 4px 0;
    vertical-align: middle;
}

.page-h3-area1 a {
    position: absolute;
    top: 0;
    right: 10px;
    display: block;
    height: 36px;
}

.page-h3-area1 a img {
    vertical-align: middle;
}

#pages .page-h3-area1 p {
    position: absolute;
    top: 10px;
    right: 10px;
}

#pages .page-h3-area1 p input[type='search'] {
    float: left;
    width: 230px;
    height: 35px;
    font-family: YuGothic, '游ゴシック', sans-serif;
    font-size: 13px;
    padding: 0 8px 0 5px;
    border: 2px solid #555;
    border-radius: 5px 0 0 5px;
    box-sizing: border-box;
    vertical-align: top;
    -webkit-appearance: none;
    appearance: none;
}

#pages .page-h3-area2 {
    position: relative;
    height: 55px;
    margin-bottom: 10px;
    padding: 10px 13px 8px;
    background: url(../images/pages/tokai/page-h3-bk2-09a953cc9bd385320829722461f43119.jpg) left top no-repeat;
    box-sizing: border-box;
}

#pages .page-h3-area2 h3 {
    font-size: 22px;
    line-height: normal;
}

#pages .page-h3-area2 h3 img {
    margin: 0 3px 0 0;
    padding: 0 0 4px 0;
    vertical-align: middle;
}

#pages .page-h3-area2 a {
    position: absolute;
    top: 10px;
    right: 10px;
}

#pages .page-h3-area3 {
    position: relative;
    height: 30px;
    line-height: 30px;
    padding: 12px 15px 4px 42px;
    background-color: #333;
    background-image: url(../images/pages/tokai/icon-search-a170231229231b6e3426371cc5cd677a.jpg);
    background-repeat: no-repeat;
    background-position: left 10px center;
}

#pages.tokai-pages .page-h3-area3 {
    position: relative;
    height: 30px;
    line-height: 30px;
    padding: 12px 15px 4px 42px;
    background-color: #333;
    background-image: url(../images/pages/icon/icon18-faa4e36e03eef24a42218aba4aa785de.jpg);
    background-repeat: no-repeat;
    background-position: left 10px center;
}

#pages .page-h3-area3 h3 {
    font-size: 20px;
    font-weight: normal;
    line-height: 1;
    color: #fff;
}

#pages .page-h3-area3 h3 img {
    margin: 0 5px 0 0;
    padding: 0 0 5px 0;
    vertical-align: middle;
}

.tokai-pages .page-h3-area1 {
    background: none;
}

.tokai-pages .page-h3-area1, .tokai-pages .page-h3-area4 {
    position: relative;
    height: 56px;
    line-height: 58px;
    color: #fff;
    padding: 0 15px;
    background-color: #1a1a1a;
    border-top: 3px solid #ff9800;
}

#pages .page-h3-area4 h3 {
    font-size: 22px;
}

#pages .page-h3-area4 h3 img {
    margin: 0 5px 0 0;
    vertical-align: middle;
}

#pages .page-h3-area4 a {
    position: absolute;
    top: 10px;
    right: 10px;
}

#pages .page-h3-area5 {
    position: relative;
    width: 766px;
    height: 56px;
    line-height: 56px;
    margin: 0 0 20px 0;
    padding: 0 15px;
    background-color: #1a1a1a;
}

#pages .page-h3-area5 h3 {
    font-size: 22px;
    color: #fff;
}

#pages .page-h3-area5 h3 img {
    margin: 0 5px 0 0;
    vertical-align: middle;
}

.page-h3-area5 a {
    position: absolute;
    top: 0;
    right: 10px;
    display: block;
    height: 36px;
}

.tokai-pages .page-h3-area1 a img, .page-h3-area5 a img {
    vertical-align: middle;
}

#pages .page-h3-area6 {
    position: relative;
    width: 770px;
    height: 30px;
    padding: 8px 15px 10px 15px;
    background-color: #333;
}

#pages .page-h3-area6 h3 {
    font-size: 20px;
    font-weight: normal;
    color: #fff !important;
}

#pages .page-h3-area6 h3 img {
    margin: 0 5px 0 0;
    vertical-align: middle;
}

#pages .page-h3-area6 img {
    margin: 0 5px 0 0;
    padding: 0 0 5px 0;
    vertical-align: middle;
}

#pages .page-h3-area8 {
    position: relative;
    width: 780px;
    height: 42px;
    margin: 0 0 5px 0;
    padding: 8px 10px 8px 10px;
    background: url(../images/pages/tokai/page-h3-bk8-5c48a9e810906f9921a2720207c72738.jpg) left top no-repeat;
}

#pages .page-h3-area8 h3 {
    font-size: 22px;
    line-height: normal;
}

#pages .page-h3-area8 h3 img {
    margin: 0 3px 0 0;
    padding: 0 0 4px 0;
    vertical-align: middle;
}

#pages .page-h3-area8 a {
    position: absolute;
    top: 12px;
    right: 12px;
}

#pages .page-h3-area9 {
    position: relative;
    width: 780px;
    height: 42px;
    margin: 0 0 5px 0;
    padding: 8px 10px 8px 10px;
    background: url(../images/pages/tokai/page-h3-bk9-90938937189a8b02d076d9fd14244b20.jpg) left top no-repeat;
}

#pages .page-h3-area9 h3 {
    font-size: 22px;
    line-height: normal;
}

#pages .page-h3-area9 h3 img {
    margin: 0 3px 0 0;
    padding: 0 0 4px 0;
    vertical-align: middle;
}

#pages .page-h3-area9 a {
    position: absolute;
    top: 12px;
    right: 12px;
}

/* page-h4-area ---------------------------------------------------- */
#pages .page-h4-area1 {
    width: 790px;
    height: auto;
    min-height: 35px;
    padding: 5px 5px 0 5px;
    background-color: #edf0f2;
    clear: both;
}

#pages .page-h4-area1 .page-h4-area1-inner {
    padding: 3px 5px 3px 15px;
    background-color: #404040;
    overflow: hidden;
}

#pages .page-h4-area1 h4 {
    float: left;
    font-size: 18px;
    font-weight: normal;
    line-height: 35px;
    color: #fff;
}

#pages .page-h4-area1 a {
    float: right;
}

/* banner-area ---------------------------------------------------- */
#pages .banner-area {
    text-align: center;
    margin: 20px 0 30px;
    clear: both;
}

#pages .banner-area-color1 {
    padding: 10px;
    background-color: #33322f;
}

#pages .banner-area-color1 a img {
    margin: 0 0 0 0;
}

#pages .banner-area-color2 {
    padding: 10px 5px;
    background-color: #33322f;
}

#pages .banner-area-color2 a img {
    margin: 0 2px;
}

/* footer_banner ---------------------------------------------------- */
.footer_banner {
    text-align: center;
    margin-bottom: 40px;
    border: 2px solid #fb6095;
}

.footer_banner img {
    margin: 20px 0;
}

.footer_banner h2 {
    font-size: 15px !important;
    color: #fff;
    margin-bottom: 0 !important;
    padding: 3px 0;
    background-color: #fb6095;
    border: 0 !important;
    text-indent: 0.5em;
    letter-spacing: 0.5em;
}

/* select-area ---------------------------------------------------- */
#pages .select-area {
    margin: 0 0 20px 0;
    padding: 1px 0 0 1px;
    overflow: hidden;
}

#pages .select-area li {
    float: left;
    width: 134px;
    min-height: 237px;
    text-align: center;
    margin: -1px 0 0 -1px;
    padding: 4px;
    border: 1px solid #ccc;
    box-sizing: border-box;
}

#pages .select-area li .img a {
    position: relative;
    display: block;
    width: 124px;
    height: 165px;
    text-align: center;
    margin: 0 auto;
}

#pages .select-area li img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

#pages .select-area li .img {
    margin-bottom: 3px;
}

#pages .select-area .name {
    display: block;
    width: 126px;
    font-size: 13px;
    font-weight: bold;
    line-height: 18px;
    margin: 0 auto;
    padding-top: 2px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#pages .select-area li .data1 {
    font-size: 12px;
    font-weight: bold;
}

#pages .select-area li .data1 a {
    display: block;
    width: 114px;
    color: #111;
    margin: 0 auto;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#pages .select-area li .data2 {
    font-size: 11px;
    margin: 0 auto;
    padding: 0 4px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#pages .select-area li.select1 {
    position: relative;
    padding: 0 0 0 0;
    border: 4px solid #f44336;
    box-sizing: border-box;
}

#pages .select-area li.select1 .img a::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 60px;
    height: 60px;
    margin-left: -1px;
    background: url(../images/pages/tokai/immediat-check1-407a5829889907b4e02048643adc1622.png) -4px -4px no-repeat;
    content: ' ';
}

#pages .select-area li.select2 {
    padding: 0 0 0 0;
    border: 4px solid #ff5890;
    box-sizing: border-box;
}

#pages .select-area li.select2 .img a::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 60px;
    height: 60px;
    margin-left: -1px;
    background: url(../images/pages/tokai/immediat-check2-9d412d3f9d66a6d6ef4a9156d73767a2.png) -4px -4px no-repeat;
    content: ' ';
}

#pages .select-area li.select3 {
    padding: 0 0 0 0;
    border: 4px solid #fa8c0f;
    box-sizing: border-box;
}

#pages .select-area li.select3 .img a::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 60px;
    height: 60px;
    margin-left: -1px;
    background: url(../images/pages/tokai/immediat-check3-92d37f25892872f2ce8e3328318dc391.png) -4px -4px no-repeat;
    content: ' ';
}

/* slider-area ---------------------------------------------------- */
#pages .slider-area {
    line-height: normal;
    text-align: center;
    padding-right: 11px;
    text-decoration: none;
    letter-spacing: -0.05em;
}

.storeno .bx-wrapper, .repno .bx-wrapper, .rookie .bx-wrapper {
    padding-bottom: 10px;
}

#pages .slider-area > a {
    position: relative;
    display: block;
    width: 115px;
    height: 153px;
    text-align: center;
}

#pages .slider-area > a img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

#pages .slider-area .title {
    display: block;
    font-size: 13px;
    font-weight: bold;
    color: #005fc0;
    text-align: center;
    margin: 5px 0 0 0;
    letter-spacing: -0.1em;
}

#pages .slider-area .data {
    display: block;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
}

#pages .slider-area .data2 {
    font-size: 11px;
    text-align: center;
}

#pages .slider-area .title a {
    display: block;
    margin: 0 auto;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#pages .slider-area .data a, #pages .slider-area .data2 {
    display: block;
    width: 115px;
    color: #111;
    margin: 0 auto;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* movie-area ---------------------------------------------------- */
.movie-area {
    width: 100%;
    font-size: 15px;
    box-sizing: border-box;
}

.movie-area.normal {
    font-size: 13px;
}

.movie-area .fl_inner {
    width: 33.33%;
    padding: 4px;
    border-width: 1px 0 1px 1px;
    border-style: solid;
    border-color: #ccc;
    box-sizing: border-box;
    flex: 0 1 auto;
}

.movie-area .fl_inner:last-child {
    border-right-width: 1px;
}

.movie-area .fl_inner > a:hover {
    text-decoration: underline;
}

.movie-area.normal {
    margin-bottom: 10px;
    border-top: none;
}

.movie-area + .normal {
    margin-top: -1px;
}

.movie-area.normal .fl_inner {
    width: 25%;
}

/* 再生時間 */
.movie-area .time {
    position: absolute;
    right: 5px;
    bottom: 5px;
    font-size: 0.9em;
    line-height: 1;
    color: #fff;
    margin: 0;
    text-shadow: 0 0 2px #111;
}

/* 動画サムネ */
.movie-area .box_img {
    text-align: center;
    background-color: #000;
}

.movie-area .inner_ratio {
    display: block;
}

.movie-area .thumb {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.movie-area .box_img .inner_ratio::after {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(../images/common/movie_icon-af0433c37b8d373b7229066189a6542e.png);
    background-repeat: no-repeat;
    background-position: center center;
    content: '';
}

.movie-area.normal .box_img .inner_ratio::after {
    background-size: 40px;
}

.movie-area .date {
    font-size: 0.8em;
    color: #666;
}

.movie-area .title, .movie-area .name, .movie-area .store {
    font-weight: bold;
}

.movie-area .title, .movie-area .name, .movie-area .store, .movie-area .place {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-decoration: none;
    text-overflow: ellipsis;
}

.movie-area .title {
    font-size: 1.2em;
}

.movie-area .name {
    color: #ec407a;
}

.movie-area .store {
    color: #111;
}

.movie-area + .button {
    position: relative;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;
    clear: both;
}

.movie-area + .button span {
    position: absolute;
    top: -14px;
    right: 0;
    left: 0;
    width: 80px;
    height: 21px;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    margin: auto;
    background-color: #323232;
    border-radius: 3px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
}

.movie-area + .button span::before, .movie-area + .button span::after {
    position: absolute;
    left: 50%;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    content: '';
}

.movie-area + .button span::before {
    bottom: -5px;
    z-index: 0;
    margin-left: -5px;
    border-width: 5px 5px 0 5px;
    border-top-color: #323232;
}

.movie-area + .button span::after {
    bottom: -7px;
    z-index: 1;
    margin-left: -7px;
    border-width: 7px 7px 0 7px;
    border-top-color: rgba(0, 0, 0, 0.2);
}

/* diary-area ---------------------------------------------------- */
#pages .diary-area {
    padding: 5px 5px 0 5px;
    background-color: #edf0f2;
    overflow: hidden;
}

#pages .diary-area li {
    float: left;
    width: 375px;
    height: auto;
    min-height: 110px;
    margin-bottom: 5px;
    padding: 8px;
    background-color: #fff;
    border: 1px solid #b3b3b3;
}

#pages .diary-area li:nth-child(even) {
    float: right;
}

#pages .diary-area li > a {
    position: relative;
    display: block;
    float: left;
    width: 80px;
    height: 106px;
    text-align: center;
}

#pages .diary-area li > a img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

#pages .diary-area li .text-area {
    float: right;
    width: 285px;
    padding-left: 5px;
}

#pages .diary-area li span, #pages .diary-area li a {
    display: block;
    line-height: 1.45em;
}

#pages .diary-area li span.data1 {
    font-family: Arial, Helvetica, 'sans-serif';
    font-size: 12px;
    color: #666;
}

#pages .diary-area li a.title {
    display: block;
    width: 290px;
    font-size: 20px;
    font-weight: bold;
    margin: 0 auto;
    overflow: hidden;
    white-space: nowrap;
    text-decoration: none;
    text-overflow: ellipsis;
}

#pages .diary-area li a.title:hover {
    text-decoration: underline;
}

#pages .diary-area li span.category {
    font-size: 12px;
}

#pages .diary-area li span.data2 a {
    display: block;
    width: 290px;
    font-size: 16px;
    font-weight: bold;
    color: #ec407a;
    margin: 0 auto;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#pages .diary-area li span.store {
    font-size: 12px;
    font-weight: bold;
}

#pages .diary-area li span.store a {
    display: block;
    width: 290px;
    color: #111;
    margin: 0 auto;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#pages .diary-area .place {
    display: block;
}

#pages .diary-area + .button {
    text-align: center;
    margin-bottom: 30px;
    padding: 15px 0 20px;
    background-color: #edf0f2;
}

.diary-area + .button a:first-child:nth-last-child(2) {
    margin-right: 4px;
}

.diary-area + .button a:nth-child(2):last-child {
    margin-left: 4px;
}

/* page-search ---------------------------------------------------- */
#pages .page-search .list1 {
    border: 1px solid #ec407a;
    overflow: hidden;
}

#pages .page-search .list1:not(:last-child) {
    padding-bottom: 10px;
    border-bottom: none;
}

#pages .page-search .list1-underline {
    border-bottom: 1px solid #ec407a !important;
}

#pages .page-search a {
    text-decoration: none;
}

#pages .page-search a:hover {
    text-decoration: underline;
}

#pages .page-search .list2 {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border: 1px solid #1976d2;
    overflow: hidden;
}

#pages .page-search .list3 {
    margin-bottom: 10px;
    padding-top: 20px;
    padding-bottom: 10px;
    border: 1px solid #3baa31;
    overflow: hidden;
}

#pages .page-search h4 {
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    margin: 0 0 15px 0;
    padding: 3px;
}

#pages .page-search .list1 h4 {
    background-color: #ec407a;
}

#pages .page-search .list2 h4 {
    background-color: #1976d2;
}

#pages .page-search .left-area {
    margin: 0 0 15px 15px;
    clear: both;
}

#pages .page-search .left-area h5 a {
    display: block;
    font-size: 14px;
    font-weight: normal;
    color: #fff;
    padding: 3px 8px;
    background-color: #474747;
}

#pages .page-search .right-area {
    width: 685px;
    font-size: 14px;
    margin: 0 15px 0 0;
}

#pages .page-search .right-area li {
    float: left;
    padding: 2px 5px 3px 0;
}

#pages .page-search .right-area li a {
    color: #111;
}

#pages .page-search .list1 .right-area .check, #pages .page-search .list1 .right-area .check a {
    font-weight: bold;
    color: #ec407a;
    clear: both;
}

#pages .page-search .list1 .right-area li::after {
    font-weight: bold;
    padding: 0 5px;
    content: '|';
}

#pages .page-search .list1 .right-area li:last-of-type::after {
    padding: 0;
    content: '';
}

#pages .page-search .list1 .right-area .check::after {
    font-weight: bold;
    color: #ec407a;
    padding: 0 5px;
    content: '|';
}

#pages .page-search .list2 .right-area .check, #pages .page-search .list2 .right-area .check a {
    font-weight: bold;
    color: #005fc0;
    clear: both;
}

#pages .page-search .list2 .right-area .clearinherit {
    clear: inherit !important;
}

#pages .page-search .list2 .right-area li::after {
    font-weight: bold;
    padding: 0 5px;
    content: '|';
}

#pages .page-search .list2 .right-area li:last-of-type::after {
    padding: 0;
    content: '';
}

#pages .page-search.page-search-full .right-area {
    width: 930px;
}

/* ticket-area ---------------------------------------------------- */
.ticket-area {
    display: flex;
    padding: 10px;
    background-color: #fff5db;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
}

.ticket-area .ticket_link {
    color: #111;
    text-decoration: none;
}

.ticket_link {
    position: relative;
    z-index: 1;
    display: block;
    width: 386px;
    padding: 6px;
    background-color: #fff;
    border: 2px solid #34cc67;
    box-sizing: border-box;
    box-shadow: 3px 3px 0 #239649;
    flex: 0 0 auto;
}

.ticket_link::before, .ticket_link::after {
    position: absolute;
    z-index: 0;
    display: block;
    content: '';
}

.ticket_link::before {
    top: -3px;
    right: -3px;
    bottom: -3px;
    left: -3px;
    border: 1px solid #928668;
}

.ticket_link::after {
    top: 5px;
    right: 3px;
    width: 1px;
    height: calc(100% - 10px);
    border-right: 1px dashed #7f7f7f;
}

.ticket-area .img-area, .ticket-area .text-area {
    box-sizing: border-box;
}

.ticket-area .img-area {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 10px;
    width: 120px;
    height: 82px;
    text-align: center;
    margin: auto;
}

.ticket-area .img-area img {
    width: 100%;
    height: 100%;
}

.ticket-area .text-area {
    width: 230px;
    height: auto;
    line-height: 1.2;
    margin-left: 136px;
}

.ticket-area .store {
    font-size: 13px;
    font-weight: bold;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.ticket-area h4 {
    font-weight: bold;
    color: #005fc0;
}

.ticket-area .price {
    line-height: 14px;
    margin: 5px 0 1px;
}

.ticket-area .price span:not([class]) {
    text-decoration: line-through;
}

.ticket-area .num {
    font-weight: bold;
    color: #ec407a;
}

.ticket-area .num .big {
    font-size: 18px;
}

/* tab1-area ---------------------------------------------------- */
.tab1-area .tab1 {
    overflow: hidden;
}

.tab1-area .tab1 li {
    position: relative;
    z-index: 1000;
    height: 30px;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    margin: 0 0 -5px 0;
    padding: 4px 0 0 0;
    background-color: #191919;
    border-radius: 3px 3px 0 0;
    overflow: hidden;
}

.tokai-pages .tab1-area .tab1 li {
    color: #666;
    background-color: #ccc;
}

.tab1-area .tab1 li:first-child:nth-last-child(2), .tab1-area .tab1 li:first-child:nth-last-child(2) ~ li {
    width: 185px;
    cursor: pointer;
}

.tab1-area .tab1 li img {
    vertical-align: middle;
}

.tab1-area .tab1 li:first-child:nth-last-child(2) {
    float: left;
}

.tab1-area .tab1 li:nth-child(2):last-child {
    float: right;
}

.tab1-area .tab1 .select {
    color: #111;
    background: linear-gradient(to bottom, #fee8ea, #fff 90%);
    border: 1px solid #b3b3b3;
    box-shadow: 0 1px 0 #fff inset;
}

.cont-deri .tab1-area .tab1 .select {
    background: linear-gradient(to bottom, #e8f7fa, #fff 90%);
}

.cont-pub .tab1-area .tab1 .select {
    background: linear-gradient(to bottom, #ecf6eb, #fff 90%);
}

.tokai-pages .tab1-area .tab1 .select {
    color: #fff;
    background: #1a1a1a;
    box-shadow: none;
}

.box_news {
    float: left;
    width: 390px;
    height: 430px;
    padding: 5px;
    background-color: #edf0f2;
    box-sizing: border-box;
}

.box_news:nth-child(even) {
    margin-left: 10px;
}

.box_news:nth-child(odd) {
    margin-right: 10px;
}

.box_news:nth-child(n+3) {
    margin-top: 10px;
}

.frame_news {
    margin-bottom: 5px;
}

.frame_news .content1 > .elm {
    position: relative;
    z-index: 10;
    margin-top: -1px;
    background-color: #fff;
    border: 1px solid #b3b3b3;
    border-radius: 0 0 3px 3px;
    overflow: hidden;
}

.tokai-pages .frame_news .tab1 {
    border-bottom: 5px solid #000;
}

.tokai-pages .tab1 li {
    height: 25px;
}

.tokai-pages .frame_news .content1 > .elm {
    margin-top: 0;
    border-top-width: 0;
}

.frame_news .top_message > .elm {
    border-top: 0 none;
}

#pages .tab1-area .hide {
    display: none;
}

.box_news .hl {
    position: relative;
    z-index: 1000;
    height: 31px;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    padding: 4px 0 0 0;
    background-color: #1a1a1a;
    border-width: 1px 1px 0;
    border-style: solid;
    border-color: #b2b2b2;
    border-radius: 3px 3px 0 0;
    overflow: hidden;
    box-sizing: border-box;
}

.box_news .hl img {
    vertical-align: middle;
}

/* もっと見るボタン */
.box_news .read_more {
    display: block;
    width: 260px;
    height: 30px;
    font-size: 12px;
    font-weight: bold;
    line-height: 28px;
    color: #000;
    margin: 4px auto;
    background: linear-gradient(to bottom, #fcfcfc, #dadada 90%);
    border: 1px solid #cbcbcb;
    border-radius: 3px;
    box-sizing: border-box;
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2), inset 0 1px 0 #fff, inset 0 -1px 0 #fff, inset 1px 0 0 #fff, inset -1px 0 0 #fff;
    text-shadow: 0 1px 0 #fff;
}

.box_news .read_more:hover {
    text-decoration: none;
}

.box_news .read_more:link, .box_news .read_more:visited {
    color: inherit;
}

/* --------------------------------------- */
/* 新着情報記事リスト */
.list_article {
    height: 348px;
    background-color: #fff;
    overflow: hidden;
    box-sizing: border-box;
}

.content1 > .list_article {
    border-width: 0 1px;
    border-style: solid;
    border-color: #b3b3b3;
}

.list_article > li {
    position: relative;
    height: 116px;
    padding: 5px 5px 4px;
    border-bottom: 1px solid #e6e6e6;
    overflow: hidden;
    box-sizing: border-box;
}

.list_article > li:not(.pick):nth-child(3) {
    border-bottom: 0 none;
}

/* 注目記事 */
.list_article .check {
    width: 368px;
    padding: 3px;
    background-color: #fdfce8;
    border: 2px solid #f44336;
}

.list_article .check::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    display: block;
    font-size: 12px;
    color: #fff;
    padding: 0 5px;
    background-color: #f44336;
    content: '注目記事';
}

.list_article .left-area {
    width: 80px;
}

.list_article .left-area a {
    position: relative;
    display: block;
    width: 80px;
    height: 106px;
    text-align: center;
}

.list_article .left-area img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.list_article .right-area {
    width: calc(100% - 90px);
    padding-left: 10px;
}

.list_article .data {
    display: block;
    height: 18px;
    font-family: Arial, Helvetica, 'sans-serif';
    font-size: 12px;
    line-height: 18px;
    color: #666;
}

.list_article .data img {
    margin: 0 0 0 5px;
}

.list_article .title {
    display: -webkit-box;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
    text-decoration: none;
    letter-spacing: -0.07em;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.list_article .content {
    font-size: 12px;
    line-height: 1.3em;
}

.list_article a:hover {
    text-decoration: underline;
}

/* 店名 */
.list_article .store {
    font-size: 14px;
    font-weight: bold;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.list_article .store a {
    color: #111;
}

.list_article .store a:not(:hover) {
    text-decoration: none;
}

.place {
    font-size: 11px;
}

.list_article + .btn {
    text-align: center;
    padding-bottom: 1px;
    background-color: #f5f7f9;
    border-top: 1px solid #e6e6e6;
}

.content1 > .list_article + .btn {
    border-width: 1px;
    border-style: solid;
    border-color: #e6e6e6 #b3b3b3 #b3b3b3;
    border-radius: 0 0 3px 3px;
    overflow: hidden;
}

/* 注目記事 */
.list_article .pick {
    padding: 2px;
    background-color: #fdfce8;
    border: 2px solid #f44336;
}

.list_article .pick::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    display: block;
    font-size: 12px;
    color: #fff;
    padding: 0 5px;
    background-color: #f44336;
    content: '注目記事';
}

/* 新着店：掲載開始日マーク */
.box_news .newarrival .data {
    display: inline-block;
    width: 120px;
    height: 20px;
    font-size: 12px;
    line-height: 20px;
    color: #fff;
    text-align: center;
    background-color: #f44336;
    border-radius: 2px;
}

/* tab2-area ---------------------------------------------------- */
#pages .tab2-area {
    width: 790px;
    padding: 5px;
    background-color: #edf0f2;
}

#pages .tab2-area .tab2 {
    overflow: hidden;
}

#pages .tab2-area .tab2 li {
    position: relative;
    z-index: 1000;
    float: left;
    width: 184px;
    height: 30px;
    font-size: 14px;
    font-weight: bold;
    line-height: 24px;
    color: #fff;
    text-align: center;
    margin: 0 18px -3px 0;
    padding: 2px 0 0 0;
    background: url(../images/pages/tokai/tab22-off-06060d716a160016df9ca5b15640e19e.jpg);
    cursor: pointer;
}

#pages .tab2-area .tab2 li img {
    vertical-align: middle;
}

#pages .tab2-area .tab2 li.select {
    color: #111;
    background: url(../images/pages/tokai/tab22-on-a5c8f08ae61fe4d3941562b1944b7ace.jpg);
}

#pages .cont-deri .tab2-area .tab2 li.select {
    background: url(../images/pages/tokai/tab22b-on-69dbc8143f3ae65c68705e1e732333b1.png);
}

#pages .cont-pub .tab2-area .tab2 li.select {
    background: url(../images/pages/tokai/tab22c-on-21a8cbcb4aade0cebfcec511da6e4d95.png);
}

#pages .tab2-area .content2 li {
    position: relative;
    z-index: 10;
    width: 748px;
    margin: -1px 0 0 0;
    padding: 20px 20px 10px 20px;
    background-color: #fff;
    border: 1px solid #b3b3b3;
    border-radius: 0 0 3px 3px;
}

#pages .tab2-area .hide {
    display: none;
}

#pages .tab2-area .okinigroup {
    padding: 10px 20px 10px 30px;
    background-color: #fff6c7;
    overflow: hidden;
}

#pages .tab2-area .okinigroup label {
    display: block;
    float: left;
    width: 170px;
}

#pages .tab2-area table tr th {
    width: 130px;
    font-size: 15px;
    font-weight: bold;
    padding: 15px;
    border-bottom: 1px dotted #b2b2b2;
}

#pages .tab2-area table tr td {
    padding: 15px 0;
    border-bottom: 1px dotted #b2b2b2;
}

#pages .tab2-area table tr td select {
    width: 180px;
    font-family: YuGothic, '游ゴシック', sans-serif;
    font-size: 13px;
    margin: 0 10px 0 0;
    padding: 1px 0 5px;
}

#pages .tab2-area table tr td select:last-child {
    margin: 0 0 0 10px;
}

#pages .tab2-area table tr td label {
    display: inline-block;
    width: 140px;
}

#pages .tab2-area input[type='radio'] {
    margin: 0 7px 0 0;
}

#pages .tab2-area .submit {
    text-align: center;
    margin: 20px auto 0 auto;
}

.page-sec12 .content2 .space {
    margin-top: 20px;
}

/* tab3-area ---------------------------------------------------- */
#pages .tab3-area {
    background-color: #edf0f2;
}

#pages .tab3-area .inner {
    width: 790px;
    padding: 5px;
}

#pages .tab3-area .tab2 {
    overflow: hidden;
}

#pages .tab3-area .tab2 li p.tab2-img1 {
    width: 250px;
    height: 31px;
    background: url(../images/pages/tokai/tab2-1off.jpg);
}

#pages .tab3-area .tab2 li.select p.tab2-img1 {
    background: url(../images/pages/tokai/tab2-1on.jpg);
}

#pages .tab3-area .tab2 li p.tab2-img2 {
    width: 250px;
    height: 31px;
    background: url(../images/pages/tokai/tab2-2off.jpg);
}

#pages .tab3-area .tab2 li.select p.tab2-img2 {
    background: url(../images/pages/tokai/tab2-2on.jpg);
}

#pages .tab3-area .tab2 li p.tab2-img3 {
    width: 250px;
    height: 31px;
    background: url(../images/pages/tokai/tab2-3off.jpg);
}

#pages .tab3-area .tab2 li.select p.tab2-img3 {
    background: url(../images/pages/tokai/tab2-3on.jpg);
}

#pages .tab3-area .tab2 li p.tab3-img1 {
    width: 250px;
    height: 31px;
    background: url(../images/pages/tokai/tab3-1off.jpg);
}

#pages .tab3-area .tab2 li.select p.tab3-img1 {
    background: url(../images/pages/tokai/tab3-1on.jpg);
}

#pages .tab3-area .tab2 li p.tab3-img2 {
    width: 250px;
    height: 31px;
    background: url(../images/pages/tokai/tab3-2off.jpg);
}

#pages .tab3-area .tab2 li.select p.tab3-img2 {
    background: url(../images/pages/tokai/tab3-2on.jpg);
}

#pages .tab3-area .tab2 li p.tab3-img3 {
    width: 250px;
    height: 31px;
    background: url(../images/pages/tokai/tab3-3off.jpg);
}

#pages .tab3-area .tab2 li.select p.tab3-img3 {
    background: url(../images/pages/tokai/tab3-3on.jpg);
}

#pages .tab3-area .tab2 li p.tab4-img1 {
    width: 250px;
    height: 31px;
    background: url(../images/pages/tokai/tab4-1off.jpg);
}

#pages .tab3-area .tab2 li.select p.tab4-img1 {
    background: url(../images/pages/tokai/tab4-1on.jpg);
}

#pages .tab3-area .tab2 li p.tab4-img2 {
    width: 250px;
    height: 31px;
    background: url(../images/pages/tokai/tab4-2off.jpg);
}

#pages .tab3-area .tab2 li.select p.tab4-img2 {
    background: url(../images/pages/tokai/tab4-2on.jpg);
}

#pages .tab3-area .tab2 li p.tab4-img3 {
    width: 250px;
    height: 31px;
    background: url(../images/pages/tokai/tab4-3off.jpg);
}

#pages .tab3-area .tab2 li.select p.tab4-img3 {
    background: url(../images/pages/tokai/tab4-3on.jpg);
}

#pages .tab3-area .tab2 li p.tab5-img1 {
    width: 250px;
    height: 31px;
    background: url(../images/pages/tokai/tab5-1off.jpg);
}

#pages .tab3-area .tab2 li.select p.tab5-img1 {
    background: url(../images/pages/tokai/tab5-1on.jpg);
}

#pages .tab3-area .tab2 li p.tab5-img2 {
    width: 250px;
    height: 31px;
    background: url(../images/pages/tokai/tab5-2off.jpg);
}

#pages .tab3-area .tab2 li.select p.tab5-img2 {
    background: url(../images/pages/tokai/tab5-2on.jpg);
}

#pages .tab3-area .tab2 li p.tab5-img3 {
    width: 250px;
    height: 31px;
    background: url(../images/pages/tokai/tab5-3off.jpg);
}

#pages .tab3-area .tab2 li.select p.tab5-img3 {
    background: url(../images/pages/tokai/tab5-3on.jpg);
}

#pages .tab3-area .tab2 li {
    position: relative;
    z-index: 1000;
    float: left;
    width: 250px;
    height: 31px;
    margin: 0 20px 0 0;
    text-indent: -9999px;
}

#pages .tab3-area .tab2 li:last-child {
    float: right;
    margin: 0 0 0 0;
}

#pages .tab3-area .tab2 li.select {
    color: #111;
    background: url(../images/pages/tokai/tab2-on.jpg);
}

#pages .tab3-area .content2 li {
    position: relative;
    z-index: 10;
    margin: -1px 0 0 0;
    padding: 20px 20px 10px 20px;
    background-color: #fff;
    border: 1px solid #b3b3b3;
    border-radius: 0 0 3px 3px;
}

#pages .tab3-area .hide {
    display: none;
}

#pages .tab3-area .okinigroup {
    padding: 10px 20px 10px 30px;
    background-color: #fff6c7;
    overflow: hidden;
}

#pages .tab3-area .okinigroup label {
    display: block;
    float: left;
    width: 170px;
}

#pages .tab3-area table tr th {
    font-size: 15px;
    font-weight: bold;
    padding: 15px;
    border-bottom: 1px dotted #b2b2b2;
}

#pages .tab3-area table tr td {
    padding: 15px;
    border-bottom: 1px dotted #b2b2b2;
}

#pages .tab3-area table tr td select {
    width: 180px;
    font-family: YuGothic, '游ゴシック', sans-serif;
    font-size: 13px;
    margin: 0 10px 0 0;
    padding: 1px 0 5px;
}

#pages .tab3-area table tr td select:last-child {
    margin: 0 0 0 10px;
}

#pages .tab3-area table tr td label {
    float: left;
    width: 170px;
}

#pages .tab3-area input[type='radio'] {
    margin: 0 7px 0 0;
}

#pages .tab3-area .submit {
    text-align: center;
    margin: 20px auto 0 auto;
}

/* tab4-area ---------------------------------------------------- */
#pages .tab4-area {
    width: 790px;
    padding: 5px;
    background-color: #edf0f2;
}

#pages .tab4-area .tab4 {
    overflow: hidden;
}

#pages .tab4-area .tab4 li {
    position: relative;
    z-index: 1000;
    float: left;
    width: 184px;
    height: 30px;
    font-size: 14px;
    font-weight: bold;
    line-height: 24px;
    color: #fff;
    text-align: center;
    margin: 0 18px -3px 0;
    padding: 2px 0 0 0;
    background: url(../images/pages/tokai/tab22-off-06060d716a160016df9ca5b15640e19e.jpg);
    cursor: pointer;
}

#pages .tab4-area .tab4 li img {
    vertical-align: middle;
}

#pages .tab4-area .tab4 li.select {
    color: #111;
    background: url(../images/pages/tokai/tab22-on-a5c8f08ae61fe4d3941562b1944b7ace.jpg);
}

#pages .tab4-area .content4 li {
    position: relative;
    z-index: 10;
    width: 748px;
    margin: -1px 0 0 0;
    padding: 20px 20px 10px 20px;
    background-color: #fff;
    border: 1px solid #b3b3b3;
    border-radius: 0 0 3px 3px;
}

#pages .tab4-area .hide {
    display: none;
}

#pages .tab4-area .okinigroup {
    padding: 10px 20px 10px 30px;
    background-color: #fff6c7;
    overflow: hidden;
}

#pages .tab4-area .okinigroup label {
    display: block;
    float: left;
    width: 170px;
}

#pages .tab4-area table tr th {
    width: 130px;
    font-size: 15px;
    font-weight: bold;
    padding: 15px;
    border-bottom: 1px dotted #b2b2b2;
}

#pages .tab4-area table tr td {
    padding: 15px 0;
    border-bottom: 1px dotted #b2b2b2;
}

#pages .tab4-area table tr td select {
    width: 180px;
    font-family: YuGothic, '游ゴシック', sans-serif;
    font-size: 13px;
    margin: 0 10px 0 0;
    padding: 1px 0 5px;
}

#pages .tab4-area table tr td select:last-child {
    margin: 0 0 0 10px;
}

#pages .tab4-area table tr td label {
    display: inline-block;
    width: 140px;
}

#pages .tab4-area input[type='radio'] {
    margin: 0 7px 0 0;
}

#pages .tab4-area .submit {
    text-align: center;
    margin: 20px auto 0 auto;
}

/* ranking1-area ---------------------------------------------------- */
#pages .ranking1-area {
    width: 780px;
    margin-bottom: 10px;
    padding: 10px;
    background-color: #f1f1f1;
    overflow: hidden;
}

#pages .ranking1-area a:hover {
    text-decoration: none;
}

#pages .ranking1-area h4 {
    font-size: 18px;
    line-height: 1.2;
    margin: 0 0 10px 0;
    padding: 0 0 0 10px;
    border-left: 4px solid #ff2335;
}

#pages .cont-deri .ranking1-area h4 {
    border-left: 4px solid #1db9e2;
}

#pages .cont-pub .ranking1-area h4 {
    border-left: 4px solid #39b231;
}

#pages .ranking1-area .list {
    width: 779px;
    box-sizing: border-box;
}

#pages .ranking1-area .list th, #pages .ranking1-area .list td {
    border: 1px solid #b3b3b3;
}

#pages .ranking1-area .list th {
    width: 60px;
}

#pages .ranking1-area .list td {
    padding: 10px;
    background-repeat: no-repeat, repeat-x;
    background-position: 3px 3px, center;
    background-size: calc(100% - 6px) calc(100% - 6px), contain;
    vertical-align: middle;
}

#pages .ranking1-area .list .ranking-header {
    font-weight: normal;
    text-align: center;
}

#pages .ranking1-area .list th img {
    width: 60px;
}

#pages .ranking1-area .list .ranking-header td {
    font-size: 14px;
    padding: 2px 0 !important;
}

#pages .ranking1-area .list .ranking-header .ranking1 {
    color: #fff;
    background-color: #ec407a;
}

#pages .ranking1-area .list .ranking-header .ranking2 {
    color: #fff;
    background-color: #1976d2;
}

#pages .ranking1-area .list .ranking-header .ranking3 {
    color: #fff;
    background-color: #009688;
}

#pages .ranking1-area .list td > a {
    position: relative;
    display: block;
    float: left;
    width: 84px;
    height: 112px;
    text-align: center;
}

#pages .ranking1-area .list td > a img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

#pages .ranking1-area .list td .text {
    float: right;
    width: 126px;
}

#pages .ranking1-area .list td .text .title {
    display: block;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.2;
    color: #005fc0;
    margin: 0;
}

#pages .ranking1-area .list td .text .title:hover, #pages .ranking1-area .list td .text .data1:hover {
    text-decoration: underline;
}

#pages .ranking1-area .list td .text .data1 {
    display: block;
    width: 126px;
    font-size: 12px;
    font-weight: bold;
    color: #222;
    margin: 5px 0 0 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#pages .ranking1-area .list td .text .data2 {
    display: block;
    font-size: 11px;
    padding-right: 10px;
    padding-left: 1em;
    text-indent: -1em;
}

#pages .ranking1-area .list .ranking-contents1 td {
    background-image: linear-gradient(to bottom, #fff 0%, #fff8ce 100%), url(../images/pages/tokai/ranking-no1_outerbg-efa5f2e14555ad77a7d57a0982bfbff5.png);
}

#pages .ranking1-area .list .ranking-contents2 td {
    background-image: linear-gradient(to bottom, #fff 0%, #fff 70%, #e7e7e7 100%), url(../images/pages/tokai/ranking-no2_outerbg-7c7addfc7984e6900366eca4e886b695.png);
}

#pages .ranking1-area .list .ranking-contents3 td {
    background-image: linear-gradient(to bottom, #fff 0%, #fff 70%, #f8e8d8 100%), url(../images/pages/tokai/ranking-no3_outerbg-af2cb87ca387524bf4a1e3ea26b350c0.png);
}

#pages .ranking1-area .btn {
    width: 720px;
    text-align: center;
    padding: 8px 0 10px 60px;
}

#pages .ranking1-area .btn a {
    display: block;
    float: left;
    width: 240px;
}

/* ranking2-area ---------------------------------------------------- */
#pages .ranking2-area {
    width: 790px;
    padding: 0 5px 5px 5px;
    background-color: #edf0f2;
}

#pages .ranking2-area:last-child {
    padding-bottom: 1px;
}

#pages .ranking2-area .list {
    margin: 0 0 5px 0;
    background: url(../images/pages/tokai/ranking-bk-f90ac36b59261c1dd984f0e3235c5c06.jpg);
    background-size: 100% 100%;
    overflow: hidden;
}

#pages .ranking2-area .list li {
    position: relative;
    float: left;
    width: 263px;
}

#pages .ranking2-area .list li .icon {
    position: absolute;
    top: 14px;
    left: 20px;
}

#pages .ranking2-area .list li .list-area {
    display: block;
    line-height: 1rem;
    text-align: center;
    padding: 10px 6px;
    overflow: hidden;
}

#pages .ranking2-area .list li .list-area a {
    display: block;
    width: 245px;
    margin: 0 auto;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#pages .ranking2-area .list li .list-area a img {
    margin: 0 0 5px 0;
}

#pages .ranking2-area .list li .list-area > a {
    position: relative;
    display: block;
    width: 115px;
    height: 153px;
    text-align: center;
    margin: 0 auto 5px;
    background: transparent;
}

#pages .ranking2-area .list li .list-area > a img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

#pages .ranking2-area .list li .list-area .title {
    font-size: 16px;
    font-weight: bold;
    color: #005fc0;
}

#pages .ranking2-area .list li .list-area .data1 a {
    font-size: 12px;
    font-weight: bold;
    color: #111;
}

#pages .ranking2-area .list li .list-area .data2 {
    display: block;
    width: 245px;
    font-size: 12px;
    margin: 0 auto;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* ranking3-area ---------------------------------------------------- */
#pages .ranking3-area {
    width: 780px;
    padding: 10px;
    background-color: #f1f1f1;
    overflow: hidden;
}

#pages .ranking3-area a:hover {
    text-decoration: none;
}

#pages .ranking3-area .list {
    width: 780px;
    box-sizing: border-box;
}

#pages .ranking3-area .list th, #pages .ranking3-area .list td {
    border: 1px solid #b3b3b3;
}

#pages .ranking3-area .list th {
    width: 60px;
}

#pages .ranking3-area .list td {
    width: 359px;
}

#pages .ranking3-area .list .ranking-header {
    font-weight: normal;
    text-align: center;
}

#pages .ranking3-area .list th img {
    width: 60px !important;
    height: 100% !important;
}

#pages .ranking3-area .list .ranking-header td {
    font-size: 14px;
    padding: 2px 0 !important;
}

#pages .ranking3-area .list .ranking-header .ranking1 {
    color: #fff;
    background-color: #ec407a;
}

#pages .ranking3-area .list .ranking-header .ranking2 {
    color: #fff;
    background-color: #1976d2;
}

#pages .ranking3-area .list td {
    padding: 10px;
    vertical-align: top;
}

#pages .ranking3-area .list td img {
    float: left;
}

#pages .ranking3-area .list td .text {
    float: right;
    width: 240px;
}

#pages .ranking3-area .list td .text .title {
    display: block;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5rem;
    color: #005fc0;
    margin: 10px 0 7px 0;
}

#pages .ranking3-area .list td .text .title:hover, #pages .ranking3-area .list td .text .data1:hover {
    text-decoration: underline;
}

#pages .ranking3-area .list td .text .data1 {
    display: block;
    font-size: 14px;
    font-weight: bold;
    margin: 5px 0 0 0;
}

#pages .ranking3-area .list td .text .data2 {
    display: block;
    font-size: 14px;
    font-weight: normal;
}

#pages .ranking3-area .list .ranking-contents1 td {
    background: url(../images/pages/tokai/ranking3-no1box.jpg);
    background-size: cover;
}

#pages .ranking3-area .list .ranking-contents2 td {
    background: url(../images/pages/tokai/ranking3-no2box.jpg);
    background-size: cover;
}

#pages .ranking3-area .list .ranking-contents3 td {
    background: url(../images/pages/tokai/ranking3-no3box.jpg);
    background-size: cover;
}

#pages .ranking3-area .btn {
    width: 720px;
    text-align: center;
    padding: 8px 0 10px 60px;
}

#pages .ranking3-area .btn a {
    display: block;
    float: left;
    width: 359px;
}

/* ソープ用背景色 */
.bg_so {
    color: #fff;
    background-color: #ff8d42;
}

/* 業種ランキング */
#pages .ranking1-area .td-bisection td {
    width: 333px;
}

#pages .td-bisection.list td .text {
    width: 242px;
}

#pages .ranking1-area .td-bisection.list td .text .data1, #pages .ranking1-area .td-bisection.list td .text .data2 {
    width: auto;
}

#pages .ranking1-area .btn.double a {
    width: 358px;
}

/* banner-days1 ---------------------------------------------------- */
#pages .banner-days1 {
    position: relative;
    width: 800px;
    height: 160px;
    margin: 0 0 20px 0;
}

#pages .banner-days1 img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
}

#pages .banner-days1 p {
    line-height: normal;
}

#pages .banner-days1 p .title {
    position: absolute;
    top: 55px;
    left: 140px;
    z-index: 10000;
    width: 560px;
    font-size: 93px;
    font-weight: bold;
    line-height: 1.6rem;
    color: #ffff1b;
    text-align: center;
    border-radius: 5px;
    letter-spacing: -0.6rem;
    text-shadow: 2px 2px 0 #63090b, -4px 4px 0 #63090b, 4px -4px 4px #89151c, -4px -4px 4px #89151c;
}

#pages .banner-days1 p .count {
    position: absolute;
    top: 40px;
    right: 10px;
    z-index: 1000;
    font-size: 15px;
    font-weight: bold;
    line-height: 2rem;
    color: #fff;
    border-radius: 5px;
    letter-spacing: -0.03rem;
}

#pages .banner-days1 p .count span {
    display: block;
    font-family: Arial, Helvetica, 'sans-serif';
    font-size: 55px;
    color: #ffeb77;
    letter-spacing: -0.2rem;
    text-shadow: 2px 2px 0 #63090b, -4px 4px 0 #63090b, 4px -4px 4px #89151c, -4px -4px 4px #89151c;
}

#pages .banner-days1 p .comment {
    position: absolute;
    top: 135px;
    left: 25px;
    z-index: 1000;
    font-size: 14px;
    font-weight: bold;
    line-height: 14px;
    color: #ff2a8f;
    border-radius: 5px;
    letter-spacing: -0.03rem;
}

#pages .banner-days1 p .days1 {
    position: absolute;
    top: 128px;
    left: 242px;
    z-index: 1000;
    font-family: Arial, Helvetica, 'sans-serif';
    font-size: 26px;
    font-weight: bold;
    color: #ff2a8f;
    letter-spacing: -0.04rem;
}

#pages .banner-days1 p .days2 {
    position: absolute;
    top: 128px;
    left: 430px;
    z-index: 1000;
    font-family: Arial, Helvetica, 'sans-serif';
    font-size: 26px;
    font-weight: bold;
    color: #ff2a8f;
    letter-spacing: -0.04rem;
}

#pages .banner-days1 p .days1 span, #pages .banner-days1 p .days2 span {
    font-size: 12px;
    color: #ff2a8f;
    letter-spacing: -0.08rem;
}

#pages .banner-days1 p .this {
    position: absolute;
    top: 135px;
    right: 12px;
    z-index: 1000;
    width: 180px;
    font-size: 15px;
    font-weight: bold;
    line-height: 15px;
    color: #fff;
    text-align: center;
    letter-spacing: -0.04rem;
}

/* banner-days2 ---------------------------------------------------- */
#pages .banner-days2 {
    position: relative;
    width: 800px;
    height: 160px;
    margin: 0 0 20px 0;
}

#pages .banner-days2 img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
}

#pages .banner-days2 p {
    position: absolute;
    top: 121px;
    left: 142px;
    z-index: 1000;
    font-size: 20px;
    font-weight: bold;
    line-height: normal;
    color: #fff;
    letter-spacing: -0.04rem;
}

#pages .banner-days2 p span {
    font-size: 16px;
    color: #fff;
    margin: 0 -5px;
}

/* diary-area ---------------------------------------------------- */
#pages .three-area {
    margin: 0 0 5px 0;
    padding: 6px 0 6px 7px;
    background-color: #edf0f2;
    overflow: hidden;
}

#pages .three-area .left, #pages .three-area .center, #pages .three-area .right {
    float: left;
    width: 253px;
    margin: 0 10px 0 0;
    background-color: #fff;
    border: 1px solid #b3b3b3;
}

#pages .three-area .right {
    margin: 0 !important;
}

#pages .three-area h3 {
    display: block;
    font-size: 17px;
    font-weight: bold;
    color: #fff;
    text-align: center;
}

#pages .three-area .left h3 {
    background-color: #ec407a;
}

#pages .three-area .center h3 {
    background-color: #1976d2;
}

#pages .three-area .right h3 {
    background-color: #009688;
}

#pages .three-area ul {
    padding: 8px;
}

#pages .three-area li {
    float: left;
    width: 114px;
    margin: 0 0 10px 0;
}

#pages .three-area li > a {
    position: relative;
    display: block;
    width: 113px;
    height: 149px;
    text-align: center;
    background-color: #000;
}

#pages .three-area li > a img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

#pages .three-area li:nth-child(even) {
    float: right;
}

#pages .three-area li .data1 {
    font-size: 12px;
    font-weight: bold;
    text-align: center;
    margin: 5px 0 0 0;
}

#pages .three-area li .data1 a {
    display: block;
    width: 110px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#pages .three-area li .data2 {
    display: block;
    width: 110px;
    font-size: 11px;
    text-align: center;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#pages .three-area .btn {
    display: block;
    text-align: center;
    background-color: #f5f7f9;
    border-top: 1px solid #eee;
    clear: both;
}

/* copy end ---------------------------------------------------- */
/*
---------------------------------------
pages contents
---------------------------------------
*/
#pages #wrap #contents {
    float: right;
    width: 800px;
}

#pages #wrap #contents.fullsize {
    float: none;
    width: 100%;
}

/* --------------------------------------- */
/* ここからモーダルウィンドウのコード */
#modal-content {
    position: fixed;
    z-index: 10001;
    display: none;
    width: 800px;
    margin: 0;
    padding: 5px;
    background-color: #eee;
}

#side-menu {
    padding: 5px 5px 2px 5px;
    background-color: #33322f;
    overflow: hidden;
}

#side-menu .tokai_menu_link:hover {
    opacity: 0.7;
    text-decoration: none;
}

#side-menu h3 {
    color: #fff;
    text-align: center;
    padding: 6px 0;
    background-color: #f44336;
    border-radius: 3px 3px 0 0;
}

#side-menu h3::before {
    padding-right: 5px;
    content: url(../images/pages/side1/icon01-e53aad33cf2518e4541c7a7f699dbea2.png);
}

#side-menu .list {
    margin: 0 0 5px 0;
    padding: 0 2px 2px 2px;
    background-color: #f44336;
    border-radius: 0 0 3px 3px;
}

#side-menu .list ul {
    padding: 8px 8px 2px 8px;
    background-color: #fff;
    border-top: 2px solid #b70d00;
    border-radius: 0 0 3px 3px;
}

#side-menu .list ul.long li {
    margin: 0 0 5px 0;
}

#side-menu ul.single li {
    margin: 0 0 5px 0;
}

/*
---------------------------------------
pages side2
---------------------------------------
*/
#side2 {
    float: left;
    width: 220px;
}

#side2 li {
    line-height: 1.6rem;
}

/*
---------------------------------------
*/
.new_info_block .news_waribiki {
    margin-bottom: 15px;
    padding: 5px;
    background-color: #edf0f2;
}

.new_info_block .news_waribiki h4 {
    position: relative;
    margin-bottom: 5px;
}

/* 店舗数 */
.news_waribiki h4 span {
    position: absolute;
    top: 20px;
    right: 43px;
    display: block;
    width: 105px;
    font-size: 50px;
    line-height: 1;
    color: #fff;
    text-align: center;
}

.news_waribiki .left_box, .news_waribiki .right_box {
    width: 392px;
    height: 452px;
    padding: 2px 5px 4px;
    box-sizing: border-box;
}

.news_waribiki .left_box {
    float: left;
    background-color: #a7d9fa;
}

.news_waribiki .right_box {
    float: right;
    background-color: #9ae69a;
}

.news_waribiki .list_coupon {
    height: 350px;
}

.news_waribiki .list_coupon .clearfix {
    height: 116px;
    margin-bottom: 1px;
    padding: 5px;
    background-color: #fff;
    box-sizing: border-box;
}

/* 各ガイドTOP：業界最高割引 割引種別 */
.news_waribiki h5 {
    text-align: center;
    padding-bottom: 1px;
}

.news_waribiki .img {
    position: relative;
    float: left;
    width: 80px;
    height: 106px;
    text-align: center;
}

.news_waribiki .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.news_waribiki .text_box {
    float: right;
    width: 283px;
}

.news_waribiki .link_fade {
    width: 100%;
    height: 64px;
    margin-bottom: 4px;
    padding: 1px;
}

/* 各ガイドTOP：業界最高割引 店名 */
.news_waribiki .store {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
}

.news_waribiki .store a {
    font-size: 14px;
    color: #111;
}

/* 各ガイドTOP：業界最高割引 業種とエリア */
.news_waribiki .store, .news_waribiki .place {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* 各ガイドTOP：業界最高割引 もっと見るボタン */
.news_waribiki .button {
    text-align: center;
    margin: 10px 0;
}

/* --------------------------------------- */
/* 各ガイドTOP：店No1嬢・リピ率No1嬢・期待の新人*/
.storeno {
    height: auto;
    min-height: 220px;
    margin: 20px 0;
    background-color: #fff5f5;
    border: 2px solid #f44336;
}

.repno {
    height: auto;
    min-height: 220px;
    margin: 20px 0;
    background-color: #fff7fa;
    border: 2px solid #ec407a;
}

.rookie {
    height: auto;
    min-height: 220px;
    margin: 20px 0;
    background-color: #fff8f0;
    border: 2px solid #fa8c0f;
}

/*
/* ======================================================
各ガイドTOP：緊急メッセージ アイコン
====================================================== */
.top_message .data {
    line-height: 20px;
}

.top_message .top_mes_title {
    clear: both;
    overflow: hidden;
}

.msg_category, .top_message .cat1, .top_message .cat2, .top_message .cat3, .top_message .cat4 {
    display: inline-block;
    font-size: 12px;
    font-weight: bold;
    line-height: 14px;
    color: #fff;
    margin-left: 4px;
    padding: 1px 2px;
    border-width: 1px;
    border-style: solid;
    border-radius: 5px;
    vertical-align: top;
}

.cat1 {
    background-color: #ec407a;
    border-color: #ca225b;
}

.cat2 {
    background-color: #7aba2f;
    border-color: #549c00;
}

.cat3 {
    background-color: #29b6f6;
    border-color: #038fcf;
}

.cat4 {
    background-color: #f44336;
    border-color: #b70d00;
}

/* ---------------------------------------
top-tokai kansai
--------------------------------------- */
.top-tokaikansai {
    background: #fff4f3 !important;
}

.top-tokaikansai header .bk-area .inner .top-count {
    background: url(../images/pages/tokai/header-page-top-count.png) no-repeat !important;
}

.top-tokaikansai header .bk-area .inner .top-count p span {
    color: #f44336 !important;
}

.top-tokaikansai .suguaerujo {
    margin: 0 0 20px 0;
    overflow: hidden;
}

.top-tokaikansai .page-sec12 {
    height: auto;
    min-height: 100px;
}

/*
---------------------------------------
tokai-pages
---------------------------------------
*/
.tokai-pages {
    background: #999 !important;
}

.tokai-pages #pages-nav-area {
    padding: 0;
    background: #000 !important;
}

.tokai-pages #wrap {
    box-shadow: 0 0 0 0 #fff !important;
}

.tokai-pages header .bk-area {
    background-color: #383838;
}

.tokai-pages .links {
    font-size: 14px;
    padding: 10px 20px;
    border: 1px solid #b3b3b3;
    overflow: hidden;
}

.tokai-pages .links a {
    text-decoration: none;
}

.tokai-pages .links a:hover {
    text-decoration: underline;
}

.tokai-pages .links h4 {
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    margin: 0 0 15px 0;
    padding: 3px;
}

/*
---------------------------------------
tokai-pages2 fuzoku deri campub
---------------------------------------
*/
.tokai-pages2 .tokai-pages2-color1 {
    background: #ffeceb !important;
}

.tokai-pages2-color2 {
    background: #d3f1f9 !important;
}

.tokai-pages2-color3 {
    background: #d8f0d6 !important;
}

.tokai-pages2 #pages-nav-area p {
    padding: 0;
}

header .navs, .tokai-pages2 header .navs2 {
    display: flex;
    margin-top: -2px;
}

.tokai-pages2 header .bk-area .inner .top-count p {
    top: 22px;
}

.tokai-pages2 header .bk-area .inner .top-count p:last-child {
    top: 46px;
}

.tokai-pages2 header .bk-area .inner .top-count p span {
    color: #f44336 !important;
}

.tokai-pages2 .navs2 .page-nav-long {
    width: 819px;
    height: 56px;
    margin: 0 0 0 0;
    background: url(../images/common/nav-page2/nav-page2-long-cea6ad4a9faba5755e5a98fff51ae3ec.png) left top no-repeat;
}

.tokai-pages2 .navs2 .page-nav-long p {
    float: left;
    margin: 0;
    padding: 1px 0 0 0;
}

.tokai-pages2 .navs2 .page-nav-long ul {
    padding: 0;
}

.tokai-pages2 .navs2 .page-nav-long li {
    float: left;
    margin: 0 0 0 0;
}

.tokai-pages2 .navs2 .nav-single {
    width: 112px;
    height: 56px;
    margin: 0 0 0 8px;
    padding: 0 0 0 10px;
    background: url(../images/common/nav-page2/nav-page2-single-b7078cdf5d8d5b62b61456fb1ce6b780.png) left top no-repeat;
}

.tokai-pages2 .color-bk1 {
    margin-bottom: 20px;
    padding: 5px;
    background-color: #eff0f2;
}

.tokai-pages2 .links {
    width: 758px;
    font-size: 14px;
    margin: 0 15px 0 0;
    padding: 10px 20px;
    border: 1px solid #b3b3b3;
    overflow: hidden;
}

.tokai-pages2 .links a {
    text-decoration: none;
}

.tokai-pages2 .links a:hover {
    text-decoration: underline;
}

.tokai-pages2 .links h4 {
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    margin: 0 0 15px 0;
    padding: 3px;
}

.tokai-pages2 .links li {
    float: left;
    padding: 0 5px 3px 0;
}

.tokai-pages2 .links li a {
    color: #111;
    padding: 0 5px 0 0;
}

.tokai-pages2 .links .check {
    margin: 0 10px 0 0;
}

.tokai-pages2 .links .check, .tokai-pages2 .links .check a {
    font-weight: bold;
    color: #005fc3;
}

.tokai-pages2 .links .links-color1 {
    float: left;
    width: 66px;
    height: 24px;
    font-size: 14px;
    line-height: 24px;
    margin: 0 15px 10px 0;
    background-color: #ec407a;
    clear: both;
}

.tokai-pages2 .links .links-color2 {
    float: left;
    width: 66px;
    height: 24px;
    font-size: 14px;
    line-height: 24px;
    margin: 0 15px 10px 0;
    background-color: #1976d2;
    clear: both;
}

.tokai-pages2 .links .links-color1 a, .tokai-pages2 .links .links-color2 a {
    display: block;
    color: #fff;
    text-align: center;
}

.tokai-pages2 .links .links-color-ul1 {
    float: left;
    width: 670px;
    margin: 0 0 10px 0;
}

.tokai-pages2 .links .links-color-ul1 ul {
    margin: 0 0 10px 0;
    clear: both;
}

.tokai-pages2 .links .links-color-ul1 .check, .tokai-pages2 .links .links-color-ul1 .check a {
    font-weight: bold;
    color: #ec407a;
}

.tokai-pages2 .links .links-color-ul2 {
    float: left;
    width: 670px;
    margin: 0 0 10px 0;
}

.tokai-pages2 .links .links-color-ul2 ul {
    margin: 0 0 10px 0;
    clear: both;
}

/* --------------------------------------- */
.photo_gallery h4 {
    position: relative;
    height: 36px;
    font-size: 18px;
    font-weight: bold;
    line-height: 37px;
    color: #ff5155;
    padding: 6px 6px 6px 50px;
    background-color: #ffd;
}

.photo_gallery h4 > img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 6px;
    z-index: 0;
    width: 36px;
    height: 36px;
    margin: auto;
    background-color: #ffa426;
    border: 1px solid #ffa426;
    border-radius: 36px;
}

.photo_gallery .list_category > li {
    float: left;
    width: 393px;
    margin-top: 6px;
    background-color: #ffd;
    border: 2px solid #ffa426;
    box-shadow: 0 0 2px #ccc;
}

.photo_gallery .list_category > li:nth-child(odd) {
    margin-right: 3px;
}

.photo_gallery .list_category > li:nth-child(even) {
    margin-left: 3px;
}

.photo_gallery .list_photo li {
    position: relative;
    width: 97px;
    height: 97px;
    text-align: center;
    margin: 0 1px 0 0;
    background-color: #fff;
    overflow: hidden;
}

.photo_gallery .list_photo li:first-child {
    margin-left: 1px;
}

.photo_gallery .list_photo img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    height: auto;
    margin: auto;
}

.photo_gallery .button {
    text-align: center;
    margin-top: 10px;
}

.photo_gallery .list_category p {
    padding: 8px 10px;
}

.photo_gallery .fechi_link {
    display: block;
    font-size: 13px;
    font-weight: bold;
    text-align: center;
    margin: auto;
    padding: 4px 6px 4px 0;
    background-color: #fff;
    border: 1px solid #cecece;
    border-radius: 5px;
    box-shadow: 0 1px 1px #ccc;
    text-shadow: 1px 1px 0 #fff;
}

.photo_gallery .fechi_link::before {
    display: inline-block;
    line-height: 1.4em;
    padding-right: 6px;
    content: url(../images/pages/before-bg/red_arrow-btn-13b42f04c7611512ecdda51a25c4c21e.png);
    vertical-align: bottom;
}

.photo_gallery .fechi_link:hover {
    opacity: 0.8;
    text-decoration: none;
}

/* --------------------------------
TOP フェチギャラリーNEWアイコン用
--------------------------------*/
.fechi_newicon {
    font-size: 14px;
    color: #fff;
    margin-left: 0.5em;
    padding: 3px 6px;
    background-color: #ff5155;
    vertical-align: middle;
}

/*============================================================
ランキングページ
============================================================*/
/* 女の子・店舗共通 */
#contents .ranking_page h2 {
    margin: 0;
}

.ranking_page {
    margin: 0 0 25px 0;
}

/* UPDOWN・急上昇の矢印アイコン */
.ranking_page .rank_access01 {
    background: url(../images/ranking/icon06-ff82fdad0f0a5fbe8ff51f586dc62f61.png) 0 10px no-repeat;
}

.ranking_page .rank_access02 {
    background: url(../images/ranking/icon07-f2a8f4804aa5e7c76876b451858e2b09.png) 0 10px no-repeat;
}

.ranking_page .rank_access03 {
    background: url(../images/ranking/icon08-f1600d06cfa01ecc4916d495aff0677d.png) 0 10px no-repeat;
}

.ranking_page .rank_name.rank_access04 {
    padding-left: 45px !important;
    background: url(../images/ranking/icon_up-5f9c5f51c89d79afafcdeec405018147.png) 0 12px no-repeat;
}

.ranking_page .rank_border {
    margin-bottom: 15px;
}

.ranking_page .rank_title {
    height: 51px;
    padding: 7px 20px 0;
    background-color: #f2f2f2;
}

/* 汎用 グレーの数字背景 */
.ranking_page .rank_number {
    width: 45px;
    height: 45px;
    font-size: 26px;
    font-weight: bold;
    line-height: 45px;
    text-align: center;
    margin-right: 8px;
    background: url(../images/ranking/icon05-9a81390d1d0d7a906ec2d3826342b8a4.png) no-repeat;
    flex: 0 0 45px;
    text-shadow: 1px 1px 1px #fff;
}

/*3桁の際数字がはみ出たのでそのためのcss */
.ranking_page .rank_number.double-digit_over {
    font-size: 24px;
}

.ranking_page .rank_number.triple-digit_over {
    font-size: 18px;
}

.ranking_page .rank_access {
    float: left;
    color: #f44336;
    padding: 12px 0 0 45px;
}

.ranking_page .rank_name {
    float: left;
    font-size: 26px;
    color: #005fc0;
    margin-right: 8px;
    padding: 2px 0 0 35px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.rank_title {
    display: flex;
    white-space: nowrap;
    justify-content: flex-start;
    align-content: center;
}

/* 1〜3位 星画像共通 */
.ranking_page .rank_number.rank_1, .ranking_page .rank_number.rank_2, .ranking_page .rank_number.rank_3 {
    z-index: 2;
    height: 0;
    margin: -22px 6px 0 -15px;
    padding-top: 85px;
    overflow: hidden;
    flex: 0 0 85px;
}

/* 1位星画像 */
.ranking_page .rank_border.rank_1 {
    border: 2px solid #cdbb7b !important;
}

.ranking_page .rank_border.rank_1 .rank_title {
    background-color: #fffad9;
}

.ranking_page .rank_number.rank_1 {
    background: url(../images/ranking/icon02-acbfc697d52d979b496f8f60188cfad0.png);
}

/* 2位星画像 */
.ranking_page .rank_border.rank_2 {
    border: 2px solid #bfbfbf !important;
}

.ranking_page .rank_number.rank_2 {
    background: url(../images/ranking/icon03-0499a9e29cbeffc5d59655fc67f72336.png);
}

/* 3位星画像 */
.ranking_page .rank_border.rank_3 {
    border: 2px solid #d3b59e !important;
}

.ranking_page .rank_border.rank_3 .rank_title {
    background-color: #fdf2ea;
}

.ranking_page .rank_number.rank_3 {
    background: url(../images/ranking/icon04-c1e20f2dc879f4c6a6c1bd10d5aa0543.png);
}

/* 4~10位星画像 */
.ranking_page .rank_number.rank_4, .ranking_page .rank_number.rank_5, .ranking_page .rank_number.rank_6, .ranking_page .rank_number.rank_7, .ranking_page .rank_number.rank_8, .ranking_page .rank_number.rank_9, .ranking_page .rank_number.rank_10 {
    width: 65px;
    height: 0;
    margin: -12px 8px 0 -10px;
    padding-top: 65px;
    flex: 0 0 67px;
}

.ranking_page .rank_number.rank_4 {
    background: url(../images/ranking/icon22-d683f5a54ae17735b261707b521ae06f.png);
}

.ranking_page .rank_number.rank_5 {
    background: url(../images/ranking/icon23-5f2c00e41a3013c9902f9a3573d010e9.png);
}

.ranking_page .rank_number.rank_6 {
    background: url(../images/ranking/icon24-13c071aa07935f1876ce0aea8bdf1ccf.png);
}

.ranking_page .rank_number.rank_7 {
    background: url(../images/ranking/icon25-8eac2e5efff456432edbc6578c40076b.png);
}

.ranking_page .rank_number.rank_8 {
    background: url(../images/ranking/icon26-4ccebff3a82d8e03f2bb396d09b05ab5.png);
}

.ranking_page .rank_number.rank_9 {
    background: url(../images/ranking/icon27-5e83ef0245751e1e676165f2a9d19238.png);
}

.ranking_page .rank_number.rank_10 {
    background: url(../images/ranking/icon28-b6c6d373b61ed4368897676c96e2d895.png);
}

/* ---------------------------------------------
女の子ランキング
---------------------------------------------*/
.ranking_page .cont01 h3 {
    text-align: right;
    margin-bottom: 20px;
    padding: 25px 0 10px;
    border-bottom: 2px solid #dbdbdb;
}

.ranking_page .cont01 h3 span {
    float: left;
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
    padding: 2px 0 0 10px;
    border-left: 5px solid #ff4141;
}

.rank_box01 {
    margin-top: 30px;
}

.ranking_page.pdiary_rank .rank_name, .ranking_page.fav_rank .rank_name {
    padding-left: 0;
}

.ranking_page .rank_name span.hit-num {
    display: inline-block;
    font-size: 16px;
    font-weight: normal;
    color: #f00;
    margin: 0 4px 0 0;
    vertical-align: middle;
}

.ranking_page .rank_name span {
    font-size: 26px;
    font-weight: bold;
}

.ranking_page .rank_title .rank_time {
    float: right;
    height: 22px;
    font-size: 12px;
    font-weight: bold;
    color: #333;
    margin-top: 8px;
    margin-left: auto;
    padding-right: 5px;
    background-color: #fff;
    border: 2px solid #e66161;
    border-radius: 4px;
    box-sizing: border-box;
    align-items: center;
}

.rank_time span {
    display: inline-block;
    width: 58px;
    font-size: 12px;
    color: #fff;
    text-align: center;
    margin-right: 8px;
    padding: 0 8px;
    background-color: #e66262;
}

.ranking_page .rank_time.red {
    border: 2px solid #f44336;
}

.ranking_page .rank_time.red span {
    display: inline-block;
    width: 68px;
    color: #fff;
    text-align: center;
    margin-right: 7px;
    background-color: #f44336;
}

.ranking_page .rank_time.gray {
    border: 2px solid #4d4d4d;
}

.ranking_page .rank_time.gray span {
    display: inline-block;
    width: 68px;
    color: #fff;
    text-align: center;
    margin-right: 7px;
    background-color: #4d4d4d;
}

.ranking_page .cont01 .rank_cont {
    padding: 20px;
    background-color: #fff;
}

.ranking_page .cont01 .rank_border {
    border: 1px solid #ccc;
}

.ranking_page .cont01 .rank_cont .img {
    position: relative;
    float: left;
    width: 150px;
    height: 200px;
    text-align: center;
}

.ranking_page .cont01 .rank_cont .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.ranking_page .cont01 .rank_cont .text {
    float: left;
    width: 566px;
    margin-left: 20px;
}

.ranking_page .cont01 .rank_cont .info {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 5px;
}

.ranking_page .cont01 .rank_cont .info span {
    color: #ff5890;
}

.ranking_page .cont01 .info_left {
    float: left;
    width: 285px;
}

.ranking_page .cont01 [class^='dx_icon'] {
    display: inline-block;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 6px;
    padding: 0 8px;
    background-color: #fff;
    border-radius: 4px;
    vertical-align: top;
}

.ranking_page .cont01 .dx_icon01 {
    color: #f44336;
    border: 2px solid #f44336;
}

.ranking_page .cont01 .dx_icon02 {
    color: #ec407a;
    border: 2px solid #ec407a;
}

.ranking_page .cont01 .dx_icon03 {
    color: #ff9800;
    border: 2px solid #ff9800;
}

.ranking_page .cont01 .info_list {
    width: 280px;
    margin-bottom: 5px;
}

.ranking_page .cont01 .store_name {
    font-weight: bold;
}

.ranking_page .cont01 .store_name a {
    color: #333;
}

.ranking_page .cont01 .store_name.dx::after {
    display: inline-block;
    margin-left: 3px;
    content: url(../images/ranking/icon16-c82f038743e9260358ed0af7bd5cef44.png);
}

.ranking_page .cont01 .place {
    font-size: 13px;
}

.ranking_page .cont01 .text_box {
    float: right;
    width: 240px;
    height: 100px;
    font-size: 13px;
    padding: 13px 15px 10px;
    border: 1px solid #b3b3b3;
    overflow: hidden;
    letter-spacing: -1px;
}

.ranking_page .cont01 .text_box p {
    line-height: 1.6;
}

.ranking_page .cont01 .recruit_text a {
    font-size: 13px;
    color: #ec407a;
}

.ranking_page .cont01 .button_list li {
    float: left;
    width: 134px;
    text-align: center;
    margin: 7px 10px 0 0;
}

.ranking_page .cont01 .button_list li:last-child {
    margin: 7px 0 0 0;
}

.ranking_page .cont01 .button_list li a {
    display: block;
    height: 26px;
    font-size: 13px;
    color: #333;
    padding: 6px 7px 0 0;
    background: url(../images/ranking/button04-07f1a733b1af5c0b3e93be3b719f219b.png);
}

.ranking_page .cont01 .button_list li a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.ranking_page .cont03 h3 {
    text-align: right;
    margin-bottom: 20px;
    padding: 25px 0 10px;
    border-bottom: 2px solid #dbdbdb;
}

.ranking_page .cont03 h3 span {
    float: left;
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
    padding: 2px 0 0 10px;
    border-left: 5px solid #ff4141;
}

.ranking_page .cont03 .rank_box {
    padding: 20px 10px 1px;
}

.ranking_page .cont03 .rank_box:first-of-type {
    padding-top: 0;
}

.ranking_page .cont03 .rank_box.sougou {
    margin-top: 0;
    padding-top: 0;
}

.ranking_page .cont03 .rank_title {
    height: 52px;
    padding: 6px 20px 0;
    background-color: #343434;
}

.ranking_page .cont03 .rank_box .rank_border .rank_title .rank_access01 {
    background: url(../images/ranking/icon18-b3de2817038a166c25a318703a6fa271.png) 0 10px no-repeat;
}

.ranking_page .cont03 .rank_box .rank_border .rank_title .rank_access02 {
    background: url(../images/ranking/icon19-3726a76848650111e56271b26a5d46df.png) 0 10px no-repeat;
}

.ranking_page .cont03 .rank_box .rank_border .rank_title .rank_access03 {
    background: url(../images/ranking/icon20-53d02caa9b04fcc69e90a596d743ceb3.png) 0 10px no-repeat;
}

.ranking_page .cont03 .rank_name {
    display: inline-block;
    float: left;
    width: auto;
    font-size: 12px;
    line-height: 1.4;
    color: #fff;
    padding: 0 0 0 35px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    flex: 1 1 auto;
}

.ranking_page .cont03 .rank_box .rank_border .rank_title .rank_name p {
    color: #fff;
}

.ranking_page .cont03 .rank_box .rank_border .rank_title .rank_name h4 a {
    display: block;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    overflow: hidden;
    vertical-align: middle;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.ranking_page .cont03 .rank_staff {
    padding-top: 11px;
}

.ranking_page .rank_staff a {
    display: inline;
    font-size: 13px;
    color: #fff;
    margin-left: 8px;
    padding: 3px 7px;
    background-color: #ec407a;
    border-bottom: 1px solid #ca225b;
    border-radius: 2px;
}

.ranking_page .rank_staff .blue {
    background-color: #1976d2;
    border-bottom: 1px solid #035aaf;
}

.ranking_page .rank_staff .pink:hover, .ranking_page .rank_staff .blue:hover {
    opacity: 0.8;
    text-decoration: none;
}

.ranking_page .cont03 .rank_cont {
    position: relative;
    height: 357px;
    margin-bottom: 25px;
    padding: 20px;
    background: url(../images/ranking/bg06-32c3c95ecdaebdeb3e7b929ef9aa5e0b.png) no-repeat;
}

.ranking_page .cont03 .rank_cont .img {
    float: left;
    width: 236px;
}

.ranking_page .cont03 .rank_cont .img li {
    position: relative;
    float: left;
    width: 113px;
    height: 150px;
    text-align: center;
    margin: 0 5px 5px 0;
}

.ranking_page .cont03 .rank_cont .img li img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.ranking_page .cont03 .rank_cont .img .button {
    padding-top: 10px;
    clear: left;
}

.ranking_page .cont03 .rank_cont .img .button a {
    display: block;
    width: 231px;
    height: 27px;
    font-size: 13px;
    font-weight: bold;
    color: #222;
    text-align: center;
    padding-top: 5px;
    background: url(../images/ranking/button06-4e5f4571934b714c9bbb814792539a95.png);
}

.ranking_page .cont03 .rank_cont .img .button a:hover {
    opacity: 0.6;
    text-decoration: none;
}

.ranking_page .cont03 .rank_cont .text {
    float: right;
    width: 480px;
    margin-left: 20px;
}

.ranking_page .cont03 .rank_cont .info {
    font-size: 15px;
    color: #333;
    padding-bottom: 6px;
}

.ranking_page .cont03 .rank_cont .info li {
    display: inline;
    padding: 0 20px;
}

.ranking_page .cont03 .info_list li {
    display: inline;
    font-size: 11px;
    line-height: 1;
    color: #1976d2;
    margin: 0 5px 5px 0;
    padding: 2px;
    border: 1px solid #1976d2;
    border-radius: 3px;
}

.ranking_page .cont03 .info_list li.red {
    color: #fff;
    background-color: #f44336;
    border: 1px solid #f44336;
    border-bottom: 1px solid #ae2015;
    border-radius: 3px;
}

.ranking_page .cont03 .info_list li.gray {
    color: #fff;
    background-color: #ccc;
    border: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    border-radius: 3px;
}

.ranking_page .cont03 .info_list li.sugu {
    font-size: 14px;
    color: #111;
    border: none;
}

.ranking_page .cont03 .info_list li.sugu span {
    color: #f44336;
}

.ranking_page .cont03 .text_box .catch {
    display: block;
    width: 448px;
    font-size: 16px;
    font-weight: bold;
    color: #005fc0 !important;
    padding-bottom: 4px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.ranking_page .cont03 .button_list {
    margin-top: 15px;
}

.ranking_page .cont03 .button_list li {
    float: left;
    width: 92px;
    text-align: center;
    margin: 0 5px 0 0;
}

.ranking_page .cont03 .button_list li:last-child {
    margin: 0;
}

.ranking_page .cont03 .button_list li a {
    display: block;
    height: 25px;
    font-size: 11px;
    color: #111;
    padding: 7px 0 0;
    background: url(../images/ranking/button07-4b6bdbf3642114d55ad3bc7bb914d5dc.png);
    letter-spacing: -1px;
}

.ranking_page .cont03 .button_list li a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.rank_move_wrap {
    display: inline-block;
}

/* ---------------------------------------------
オキニランキング
--------------------------------------------- */
.fv_rank_txt {
    font-size: 16px;
    margin: 12px 6px;
    padding: 6px 10px;
    background-color: #ffffec;
}

.fv_rank_txt span {
    font-size: 16px;
    font-weight: bold;
    color: #29b2b9;
}

/*--------------------------------------------------------------
ランキング サイド用
--------------------------------------------------------------*/
#ranking_side {
    float: left;
    width: 220px;
}

#ranking_side .cont01 h2 {
    position: relative;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    text-align: left;
    padding: 8px 0 8px 37px;
    background-color: #262626;
}

#ranking_side .cont01 h2 > span {
    font-size: 13px;
}

#ranking_side .cont01 > div {
    margin-bottom: 10px;
    border: 2px solid #262626;
}

#ranking_side .cont01 .cont01_01 h2::before {
    position: absolute;
    top: 6px;
    left: -9px;
    content: url(../images/ranking/side_icon01-067ac325b7282021c896493fd62e0feb.png);
}

#ranking_side .cont01 .cont01_02 h2::before {
    position: absolute;
    top: 6px;
    left: -9px;
    content: url(../images/ranking/side_icon02-76b617470f8018c670eae254f96d2c01.png);
}

#ranking_side .cont01 .cont01_03 h2::before {
    position: absolute;
    top: 6px;
    left: -9px;
    content: url(../images/ranking/side_icon03-9b787c535ee75ff5a9adc1857a27915e.png);
}

#ranking_side .cont01 .cont01_04 h2::before {
    position: absolute;
    top: 6px;
    left: -9px;
    content: url(../images/ranking/side_icon04.png);
}

#ranking_side .cont01 .cont01_05 h2::before {
    position: absolute;
    top: 6px;
    left: -9px;
    content: url(../images/ranking/side_icon05-f76ad4c68dd46ca17b877e181885d1e9.png);
}

#ranking_side .cont01 .cont01_06 h2::before {
    position: absolute;
    top: 6px;
    left: -9px;
    content: url(../images/ranking/side_icon06-9c0913534b454e56e59350e5ddfc1295.png);
}

#ranking_side .cont01 .cont01_07 h2::before {
    position: absolute;
    top: 6px;
    left: -9px;
    content: url(../images/ranking/side_icon07-9504fc0a1f0be3856f26ff18e5959e8b.png);
}

#ranking_side .cont01 h3 {
    position: relative;
    font-size: 16px;
    color: #fff;
    padding: 5px 10px 5px 36px;
    background-color: #ec407a;
}

#ranking_side .cont01 h3::before {
    position: absolute;
    top: 50%;
    bottom: 50%;
    left: 12px;
    display: inline-block;
    width: 18px;
    height: 18px;
    margin: auto;
    background: url(../images/ranking/side_icon08-586b615454a78323d20475ce00724fd6.png) 0 0 no-repeat;
    background-size: 17px;
    content: '';
    vertical-align: text-bottom;
}

#ranking_side .cont01 h3:nth-of-type(2) {
    background-color: #1976d2;
    background-size: 18px;
    border-top: 2px solid #262626;
}

#ranking_side .cont01 h3:nth-of-type(2)::before {
    display: inline-block;
    width: 18px;
    height: 18px;
    padding-right: 6px;
    background: url(../images/ranking/side_icon09-e269efd97a1304d2881c3b9ecc4f9eb1.png) 0 0 no-repeat;
    background-size: 17px;
    content: '';
    vertical-align: text-bottom;
}

#ranking_side .cont01 h4 {
    font-size: 13px;
    color: #ec407a;
    text-align: center;
    padding: 3px 0;
    background-color: #fce3eb;
}

#ranking_side .cont01 h3:nth-of-type(2) ~ h4 {
    color: #1976d2;
    background-color: #ddebf8;
}

#ranking_side .cont01 ul {
    padding: 10px;
}

#ranking_side .cont01 ul li::before {
    color: #a0a0a0;
}

#ranking_side .cont01 li a {
    font-size: 13px;
    padding-left: 20px;
    background-image: url(../images/ranking/side_icon10-5655c72b4ee7f61eb26cbebcc4fc892a.png);
    background-repeat: no-repeat;
    background-position: center left 10px;
}

/* ======================================================
女の子ランキング 修正用
 ====================================================== */
#ranking_side .cont01 ul {
    padding: 0;
}

#ranking_side .cont01 li:first-child {
    padding-top: 10px;
}

#ranking_side .cont01 li:last-child {
    padding-bottom: 10px;
}

#ranking_side .cont01 ul .sougou a {
    font-size: 14px;
    font-weight: bold;
}

/* ランキング詳細 テキスト */
.ranking_page .text_box .more {
    text-align: right;
}

.ranking_page .text_box .more a::before {
    color: #005fc0;
    content: '>>';
}

/* 1位〜 ボタン */
.rank_move_wrap li {
    display: inline-block;
    margin-left: 8px;
    margin-bottom: 8px;
}

a.rank_move_btn {
    position: relative;
    display: block;
    width: 180px;
    color: #fff;
    text-align: center;
    padding: 6px;
    background-color: #f44336;
    border: 1px solid #f44336;
    border-radius: 4px;
    box-sizing: border-box;
    text-decoration: none;
}

a.rank_move_btn::before, a.rank_move_btn::after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: '';
    vertical-align: middle;
}

a.rank_move_btn::before {
    right: 8px;
    width: 16px;
    height: 16px;
    background-color: #fff;
    border: 1px solid #f44336;
    border-radius: 50%;
    box-sizing: border-box;
}

a.rank_move_btn::after {
    right: 14px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #f44336;
    border-right: 2px solid #f44336;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.rank_move_btn:hover {
    color: #fff;
    background-color: #ffa39b;
}

.rank_move_btn:hover, .rank_move_btn:hover::before, .rank_move_btn:hover::after {
    border-color: #ffa39b;
}

.ranking_page .cont01 h3 .aggregate {
    float: inherit;
    font-size: 15px;
    line-height: 1;
    color: #222;
    padding: 0;
    border-left: none;
}

#ranking_side .cont01 ul {
    padding: 0;
}

#ranking_side .cont01 li {
    padding: 3px 6px 3px 20px;
    text-indent: -20px;
}

#ranking_side .cont01 li.sougou {
    padding: 10px 0 10px 20px;
    background-color: #ffffec;
}

/*  ======================================================
お店ランキング 修正用
 ====================================================== */
.ranking_page .cont03 h3 .aggregate {
    float: inherit;
    font-size: 15px;
    line-height: 1;
    color: #222;
    padding: 0;
    border-left: none;
}

.ranking_page .cont03 .text_box p {
    line-height: 1.6;
}

.ranking_page .cont03 .text_box .more {
    color: #005fc0 !important;
    text-align: right;
    margin: 4px 0;
}

.ranking_page .cont03 .text_box .more a::before {
    color: #005fc0 !important;
    content: '>>';
}

#ranking_side .cont03 h3:nth-of-type(1) {
    font-size: 16px;
    color: #fff;
    padding: 5px 0 5px 38px;
    background: #ec407a url(../images/ranking/side_icon08-586b615454a78323d20475ce00724fd6.png) 10px 6px no-repeat;
}

#ranking_side .cont03 h3:nth-of-type(2) {
    font-size: 16px;
    color: #fff;
    padding: 5px 0 5px 38px;
    background: #1976d2 url(../images/ranking/side_icon09-e269efd97a1304d2881c3b9ecc4f9eb1.png) 8px 4px no-repeat;
    border-top: 2px solid #262626;
}

#ranking_side .cont03 ul {
    padding: 0;
}

#ranking_side .cont03 li:first-child {
    padding-top: 10px;
}

#ranking_side .cont03 li:last-child {
    padding-bottom: 10px;
}

#ranking_side .cont03 li {
    padding: 2px 10px;
}

#ranking_side .cont03 li.sougou {
    padding: 10px;
    background-color: #ffffec;
}

#ranking_side .cont03 ul .sougou a {
    font-size: 14px;
    font-weight: bold;
}

.ranking_page .cont03 .text_box {
    height: 200px;
    font-size: 14px;
    margin-top: 5px;
    padding: 10px 15px 18px;
    border: 1px solid #b3b3b3;
    overflow: hidden;
    letter-spacing: -1px;
}

/* ======================================================
P日記アクセスコンテスト
====================================================== */
.ranking_page .p_nav {
    padding: 10px;
    background-color: #f8f6f4;
}

a.rank_move_btn.pdiary_move {
    width: 280px;
    color: #25a99f;
    background-color: #fff;
    border: 1px solid #29b2b9;
}

.rank_move_btn.pdiary_move::before, .rank_move_btn.pdiary_move::after {
    color: #3db9bf;
    background-color: #29b2b9;
}

.rank_move_btn.pdiary_move::before {
    border-color: #29b2b9;
}

.rank_move_btn.pdiary_move::after {
    border-color: #fff;
}

.rank_move_btn.pdiary_move:hover {
    background-color: #e1fff4;
}

/*============================================================
夜ガイニュース (news)
============================================================*/
.news .news_nav {
    background-color: #262626;
    border-bottom: 3px solid #f44336;
}

.news .news_nav li {
    float: left;
    width: 148px;
    text-align: center;
    margin: 10px 0 0 10px;
}

.news .news_nav li a {
    display: block;
    font-size: 18px;
    font-weight: bold;
    color: #111;
    padding: 7px 0 4px;
    background-color: #fff;
    border-radius: 3px 3px 0 0;
}

.news .news_nav li a.active {
    color: #fff;
    background-color: #f44336;
}

.news .news_nav li a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.news .news_nav li a::before {
    content: url(../images/ranking/icon01-688f6a227f0fe959c67b11f353c7ecc4.png);
}

.news .news_nav li a.active::before {
    content: '';
}

.news .news_pager .count {
    float: left;
    padding: 20px 0;
}

.news .news_pager .count p {
    display: inline;
}

.news .news_pager .button li {
    width: 98px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    padding: 1px;
    background-color: #333;
}

.news .news_pager .button li.active {
    background-color: #ec1f30;
}

.news .news_pager .button li:nth-of-type(1) {
    border-radius: 3px 0 0 3px;
}

.news .news_pager .button li:nth-of-type(3) {
    border-radius: 0 3px 3px 0;
}

.news .news_pager .button li a {
    display: block;
    color: #fff;
    background-color: #545454;
    border-top: 1px solid #767676;
    border-left: 1px solid #767676;
}

.news .news_pager .button li a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.news .news_pager .button li.active a {
    display: block;
    color: #fff;
    background-color: #f44336;
    border-top: 1px solid #f85e4c;
    border-left: 1px solid #f85e4c;
}

.news .news_pager .pager {
    float: right;
}

.news .news_pager .pager li {
    display: inline-block;
    vertical-align: middle;
}

.news .news_pager .pager li.number a {
    display: inline-block;
    width: 28px;
    height: 26px;
    color: #111;
    text-align: center;
    padding-top: 3px;
    background: url(../images/pages/article/pager-bk_off-3140e141407c9dcbca241b42a8b38544.jpg) no-repeat;
}

.news .news_pager .pager li.number a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.news .news_pager .pager li.active a {
    color: #fff;
    background: url(../images/pages/article/pager-bk_on-b7e197d76073fb9a13850a4d59a0e0fc.jpg) no-repeat;
}

/* ------ 営業時間〜 打ち消し ------ */
.news.title .store_info .content .details .item .name {
    display: inline-block;
    font-size: 14px;
    font-weight: bold;
    margin-right: 20px;
    padding-left: 25px;
    vertical-align: top;
    flex: 1;
}

.news.title .store_info .content .details .item .desc {
    display: inline-block;
    font-size: 14px;
    line-height: 1.5em;
    overflow: initial;
    vertical-align: top;
    white-space: initial;
    text-overflow: initial;
    word-break: break-all;
    flex: 1 1 285px;
}

.news.title .store_info .content .details .item {
    display: flex;
    margin-bottom: 8px;
}

.news.title .store_info .content .details .item:last-child {
    margin-bottom: 0;
}

.news_detail .detail_nav .detail_nav_link:last-child {
    margin-right: 0;
}

.sns_btn {
    line-height: 10px;
}

.sns_btn .btn {
    display: inline-block;
}

/*------------------------------
タブとか */
.news .news_pager .count {
    padding: 0;
}

.news .news_pager .button {
    float: right;
    padding: 0;
}

.news_pager {
    margin-bottom: 20px;
}

/*--------------------------------------------------------------
夜ガイニュース 詳細(news_title)
--------------------------------------------------------------*/
.news.title h2.main {
    font-size: 28px;
    margin-bottom: 20px;
    padding-bottom: 5px;
    border-bottom: 2px solid #dbdbdb;
}

.news_detail {
    margin-bottom: 15px;
    padding: 10px;
    background-color: #f8f6f4;
}

.news_detail .content {
    margin-bottom: 10px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 7px;
}

.news_detail .content .top {
    padding: 15px 20px;
    background-color: #edf5fc;
    border-top-left-radius: 7px;
    border-top-right-radius: 7px;
    overflow: hidden;
}

.news_detail .content .top h2 {
    font-size: 26px !important;
    margin-bottom: 6px !important;
    border: none !important;
}

.news_detail .content .top .sub {
    font-size: 14px;
}

.news_detail .content .top .sub:before {
    content: '文●';
}

.news_detail .content .top .time {
    float: right;
    font-size: 14px;
    color: #444;
}

.news_detail .content .detail_content {
    padding: 20px;
}

.news_detail .content .detail_content h3 {
    font-size: 18px;
    padding-bottom: 10px;
}

.news_detail .box {
    position: relative;
    width: 450px;
    margin: 0 auto;
}

.news_detail .content .detail_content .box #btn_prev {
    position: relative;
    top: 200px;
    float: left;
    cursor: pointer;
}

.news_detail .content .detail_content .box #btn_next {
    position: relative;
    top: 200px;
    float: right;
    cursor: pointer;
}

.news_detail .frame {
    position: relative;
    width: 320px;
    height: 427px;
    text-align: center;
    margin: auto;
    border: 5px solid #e6e6e6;
}

/* 画像1枚の場合 */
.news_detail .box > .frame {
    margin-bottom: 20px;
}

.news_detail .content .frame img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: inline-block;
    max-width: 320px;
    max-height: 427px;
    margin: auto;
}

.news_detail .content .detail_content .box ul.shop_bxslider li div.frame .helper {
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

.news_detail .bx-wrapper {
    margin-bottom: 50px;
    padding-bottom: 0;
}

.news_detail .bx-wrapper .bx-caption, .news_detail .caption {
    background: rgba(244, 247, 252, 0.75);
}

.news_detail .caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 330px;
    margin: auto;
    padding: 10px;
    box-sizing: border-box;
}

.news_detail .bx-wrapper .bx-caption span {
    color: #111;
}

.news_detail .bx-wrapper .bx-pager {
    display: block !important;
    padding-top: 0;
}

.news_detail .content .detail_content p.desc {
    font-size: 16px;
}

.news_detail .content .detail_content p.desc .f1 {
    color: #f00;
}

.news_detail .content .detail_content p.desc .f2 {
    color: #00f;
}

.news_detail .detail_nav {
    padding-bottom: 10px;
}

.news_detail .detail_nav img {
    margin-left: 5px;
}

.news_detail .detail_nav .detail_nav_link::after {
    position: absolute;
    top: 13px;
    right: 9px;
    width: 9px;
    height: 13px;
    background: url(../images/pages/news/btn_arrow-47ecb04cf06091e801846743f60c0644.png) no-repeat;
    content: ' ';
}

.news.title .twitter_btn {
    float: right;
}

.news.title .store_info {
    margin-top: 30px;
    border-top: 0;
    overflow: hidden;
}

.news.title .news_store_info_hl {
    font-size: 18px;
    font-weight: normal;
    line-height: 36px;
    color: #fff;
    padding-left: 12px;
    background-color: #f44336;
    border-bottom: 0;
}

.news .store_info .store_info_inner {
    padding: 10px 10px 14px;
    background: #fff;
    border: 1px solid #ccc;
    border-top: 0;
    overflow: hidden;
}

.news .store_info .img_wrap {
    position: relative;
    display: inline-block;
    float: left;
    width: 180px;
    height: 239px;
}

.news .store_info .img_wrap img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 177px;
    max-height: 236px;
    margin: auto;
}

.news.title .store_info .content {
    display: inline-block;
    width: calc(100% - 200px);
    margin: 0 0 0 20px;
    border: none;
    border-radius: 0;
}

.news.title .store_info .content.second h3.name {
    padding-left: 0;
}

.news.title .store_info .content p.name_sub {
    font-size: 14px;
    color: #666;
    padding-left: 20px;
}

.news.title .store_info .content.second p.name_sub {
    padding-left: 0;
}

.news.title .store_info .content img.phone {
    position: relative;
    top: 8px;
    right: 13px;
    float: right;
}

.news.title .store_info .content .details {
    margin: 12px 0;
    padding: 8px;
    background-color: #f8f6f4;
    vertical-align: top;
}

.news.title .store_info .content .details .item .name {
    background-repeat: no-repeat;
    background-position: 0 0;
}

.news.title .store_info .content .details .item .name.time {
    background-image: url(../images/fuzoku/girl/top/icon_01-0353264f8daa959b8f75adc325297abb.png);
}

.news.title .store_info .content .details .item .name.addr {
    background-image: url(../images/fuzoku/girl/top/icon_02-a9f3dde9b31666f0c4da1ba5c1c276f6.png);
}

.news.title .store_info .content .details .item .name.acc {
    background-image: url(../images/fuzoku/girl/top/icon_03-bcd026c61bf2f295d9ff1e3e5bd4aa03.png);
}

.news.title .store_info .content .details .item .name.deli {
    background-image: url(../images/fuzoku/girl/top/icon_06-7681e8d98b7fdac5bbbdb6909452859e.png);
}

.shop_link_btn.news_btn {
    display: inline-block;
    height: 35px;
    font-size: 15px;
    font-weight: bold;
    color: #222;
    text-align: center;
    padding: 5px;
    padding-left: 24px;
    background: url(../images/pages/news/shop_btn_ico-f40b8a36a612277bd6fb2c26a0fade3d.png) #eaf2f4;
    background-repeat: no-repeat;
    background-position: 30px 6px;
    border: 1px solid #aabdc4;
    border-radius: 4px;
    box-sizing: border-box;
    vertical-align: middle;
    box-shadow: 0 2px 0 0 #aabdc4;
}

.shop_link_btn.news_btn:hover {
    cursor: pointer;
    -webkit-transform: translate3d(0, 3px, 0);
    transform: translate3d(0, 3px, 0);
    text-decoration: none;
    box-shadow: none;
}

.news.title .store_info .news_btn {
    width: 180px;
}

/* pager */
.news.title .news_paging {
    display: flex;
    margin: 20px 0;
    justify-content: flex-start;
    align-items: stretch;
}

.news_paging a {
    position: relative;
    display: flex;
    max-width: 256px;
    height: 35px;
    font-size: 13px;
    line-height: 1.3;
    color: #000;
    margin-left: 18px;
    padding: 6px;
    padding-left: 11px;
    background: linear-gradient(to bottom, #fff 0%, #f6f6f6 47%, #ededed 100%);
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-shadow: 0 1px 0 #ccc;
    justify-content: flex-start;
    align-items: center;
    flex: 1 100%;
}

.news_paging a:first-child {
    margin-left: 0;
}

.news_paging a.news_list_link:first-child {
    margin-left: auto;
}

.news_paging a.news_list_link:only-child {
    margin: 0 auto;
}

.news_paging a:hover {
    opacity: 0.7;
    text-decoration: none;
}

.news_paging a.news_list_link {
    max-width: 210px;
    font-size: 15px;
    font-weight: bold;
    line-height: 38px;
    text-align: center;
    justify-content: center;
}

.news_paging a.prev {
    padding-left: 20px;
    background: url(../images/pages/news/arrow_left-301e7ed662b44824e09da8b6b1be9e93.png) no-repeat center left 5px, linear-gradient(to bottom, #fff 0%, #f6f6f6 47%, #ededed 100%);
}

.news_paging a.next {
    padding-right: 20px;
    background: url(../images/pages/news/arrow_right-30475e2527d639bed1420c9dd0e4beb1.png) no-repeat center right 5px, linear-gradient(to bottom, #fff 0%, #f6f6f6 47%, #ededed 100%);
}

/* ======================================================
業界最高割引 一覧
====================================================== */
.discount h2 {
    position: relative;
    margin-bottom: 5px;
}

.discount h2 span {
    position: absolute;
    top: 25px;
    right: 48px;
    display: block;
    width: 105px;
    font-size: 50px;
    line-height: 1;
    color: #fff;
    text-align: center;
}

.discount .d_list p {
    float: left;
    width: 380px;
    height: 48px;
    margin: 0 10px 20px;
}

.discount .d_list p a {
    display: block;
    width: 100%;
    height: 100%;
}

.discount .article-search-head .list1 {
    display: table;
    width: 100%;
    padding: 10px 0 0 0;
    background-color: #262626;
    border-bottom: 3px solid #f44336;
    table-layout: fixed;
    border-spacing: 5px 0;
}

.discount .article-search-head .list1 li {
    display: table-cell;
    float: none;
    text-align: center;
    vertical-align: bottom;
}

.discount .article-search-head .list1 li a {
    display: block;
    font-size: 14px;
    font-weight: bold;
    color: #111;
    padding: 7px 0 4px;
    background-color: #fff;
    border-radius: 3px 3px 0 0;
}

.discount .article-search-head .list1 li a.active {
    color: #fff;
    background-color: #f44336;
}

.discount .article-search-head .list1 li a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.discount .article-search-head .list2 {
    padding: 15px 0;
}

.discount .article-search-head .list2 li {
    width: 98px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    padding: 1px;
    background-color: #333;
}

.discount .article-search-head .list2 li.active {
    background-color: #ec1f30;
}

.discount .article-search-head .list2 li:nth-of-type(1) {
    border-radius: 3px 0 0 3px;
}

.discount .article-search-head .list2 li:nth-of-type(3) {
    border-radius: 0 3px 3px 0;
}

.discount .article-search-head .list2 li a {
    display: block;
    color: #fff;
    background-color: #545454;
    border-top: 1px solid #767676;
    border-left: 1px solid #767676;
}

.discount .article-search-head .list2 li a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.discount .article-search-head .list2 li.active a {
    display: block;
    color: #fff;
    background-color: #f44336;
    border-top: 1px solid #f85e4c;
    border-left: 1px solid #f85e4c;
}

.discount .article-search-head .list2 li.pikup a {
    color: #ffda31;
}

.discount .article-search-head div {
    float: left;
    line-height: 18px;
}

.discount .article-search-head img {
    position: relative;
    margin: 0 3px;
    vertical-align: text-top;
}

.discount .article-search-head select {
    width: 143px;
    font-family: YuGothic, '游ゴシック', sans-serif;
}

.discount .article-search-head .list4 {
    float: right;
}

.discount .article-search-head .list3 {
    font-weight: bold;
    padding: 14px 20px 0 0;
}

.discount .article-search-number .count {
    float: left;
}

.discount .article-search-number .count p {
    float: left;
    margin: 0 10px 0 0;
}

.discount .article-search-number .change {
    float: right;
    font-size: 14px;
    text-align: right;
}

.discount .article-search-number .tab {
    float: right;
    width: 500px;
}

.discount .article-search-number .count-list {
    float: right;
}

.discount .article-search-number .count-list select {
    font-family: YuGothic, '游ゴシック', sans-serif;
    margin: 0 0 0 10px;
}

/*  new_movie
--------------------------------------------------------------*/
.new_movie #article-sec2 h3 {
    line-height: 1;
    padding: 0 0 8px 20px;
    background: url(../images/pages/article/search-list4-8c25b4fdc0d34ab415bef728792f0a6d.png) 0 0 no-repeat;
}

.new_movie .article-search-head {
    padding: 10px;
    border: 10px solid #dae2ed;
    overflow: hidden;
}

.new_movie .article-search-head div {
    float: left;
    line-height: 18px;
}

.new_movie .article-search-head img {
    position: relative;
    margin: 0 3px;
    vertical-align: text-top;
}

.new_movie .article-search-head select {
    width: 143px;
    font-family: YuGothic, '游ゴシック', sans-serif;
}

.new_movie .article-search-head .list5 {
    float: right;
    padding: 1px 0 0;
}

.new_movie .article-search-head .list1, .new_movie .article-search-head .list2, .new_movie .article-search-head .list3 {
    margin: 10px 0 0 0;
    padding: 0 10px 0 0;
}

.new_movie .article-search-head .list4 {
    font-weight: bold;
    padding: 15px 10px 0 10px;
}

.new_movie .article-search-head select {
    height: 25px;
}

.new_movie .news_nav {
    background-color: #262626;
    border-bottom: 3px solid #f44336;
}

.new_movie .news_nav li {
    float: left;
    width: 253px;
    text-align: center;
    margin: 10px 0 0 10px;
}

.new_movie .news_nav li a {
    display: block;
    font-size: 18px;
    font-weight: bold;
    color: #111;
    padding: 7px 0 4px;
    background-color: #fff;
    border-radius: 3px 3px 0 0;
}

.new_movie .news_nav li a.active {
    color: #fff;
    background-color: #f44336;
}

.new_movie .news_nav li a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.new_movie .news_nav li a::before {
    content: url(../images/ranking/icon01-688f6a227f0fe959c67b11f353c7ecc4.png);
}

.new_movie .news_nav li a.active::before {
    content: '';
}

.new_movie .news_pager .button li a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.new_movie .news_pager .button li.active a {
    display: block;
    color: #fff;
    background-color: #f44336;
    border-top: 1px solid #f85e4c;
    border-left: 1px solid #f85e4c;
}

.new_movie .news_pager .pager {
    float: right;
    padding: 20px 0;
}

.new_movie #article-sec2 {
    margin: 20px 0 10px;
}

.new_movie .movie_pickup h3 {
    position: relative;
    color: #111;
    margin: 20px 0 0 0;
    padding: 2px 0 0 70px;
    background-color: #fcdc18;
}

.new_movie .movie_pickup h3::before {
    position: absolute;
    top: -10px;
    left: 10px;
    content: url(../images/pages/article/movie/movie_icon01.png);
}

.new_movie .movie_pickup ul {
    padding: 15px 0 10px 15px;
    background-color: #fcfcbd;
}

.new_movie .movie_pickup li {
    float: left;
    font-weight: bold;
    text-align: center;
    margin-right: 15px;
}

.new_movie .movie_pickup li a {
    display: block;
    width: 242px;
    color: #333;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.new_movie .movie_pickup li .img {
    position: relative;
    width: 242px;
    height: 136px;
    text-align: center;
    margin-bottom: 10px;
    background-color: #000;
    border: 2px solid #000;
}

.new_movie .movie_pickup li .img .time {
    position: absolute;
    right: 5px;
    bottom: 5px;
    line-height: 1;
    color: #fff;
    text-shadow: 0 0 2px #111;
}

.new_movie .movie_pickup li .img a::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 50px;
    margin: auto;
    content: url(../images/common/movie_icon-af0433c37b8d373b7229066189a6542e.png);
}

.new_movie .movie_pickup li .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.new_movie .movie_list {
    margin-bottom: 10px;
    padding: 10px;
    background-color: #f8f6f4;
}

.movie_list ul {
    display: flex;
    float: none;
    flex-wrap: wrap;
}

.new_movie .movie_list li {
    position: relative;
    width: 235px;
    margin: 0 9px 10px 0;
    padding: 8px;
    background-color: #fff;
    border: 1px solid #b3b3b3;
    border-radius: 5px;
}

.new_movie .movie_list .today::before {
    position: absolute;
    top: 5px;
    left: -5px;
    z-index: 2;
    content: url(../images/pages/article/movie/movie_icon02-16b5e31b2baad34b9990be7d4e143508.png);
}

.new_movie .movie_list li:nth-of-type(3n) {
    margin: 0 0 10px 0;
}

.new_movie .movie_list li .img {
    position: relative;
    width: 232px;
    height: 131px;
    text-align: center;
    background-color: #000;
}

.new_movie .movie_list li .img .time {
    position: absolute;
    right: 5px;
    bottom: 5px;
    line-height: 1;
    color: #fff;
    text-shadow: 0 0 2px #111;
}

.new_movie .movie_list li .img a::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 50px;
    margin: auto;
    content: url(../images/common/movie_icon-af0433c37b8d373b7229066189a6542e.png);
}

.new_movie .movie_list li .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.new_movie .movie_list li .date {
    float: left;
    font-size: 12px;
    padding: 4px 0 0;
}

.new_movie .movie_list li .number {
    float: left;
    width: 100px;
    font-size: 12px;
    padding: 5px 0;
}

.new_movie .movie_list li .title {
    float: left;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
    padding: 4px 0 0;
    padding-bottom: 5px;
    clear: both;
    word-wrap: break-word;
    word-break: break-all;
}

.new_movie .movie_list li .title span {
    display: inline-block;
    font-size: 12px;
    color: #f44336;
    margin-left: 10px;
    padding: 0 2px;
    border: 1px solid #f44336;
    border-radius: 2px;
}

.movie_cate {
    font-size: 10px;
    clear: both;
}

.movie_cate span {
    display: inline-block;
    min-width: 39px;
    color: #5d6c88;
    text-align: center;
    margin-right: 2px;
    margin-bottom: 2px;
    padding: 0 2px;
    border: 1px solid #5d6c88;
    border-radius: 2px;
    box-sizing: border-box;
    vertical-align: text-top;
}

.new_movie .movie_list .movie_cate span:last-child {
    margin-right: 0;
}

.new_movie .movie_list li .name {
    display: -webkit-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    line-height: 1.2;
    margin-top: 6px;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
}

.new_movie .movie_list li .name a {
    display: inline-block;
    font-size: 13px;
    color: #ec407a;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.new_movie .movie_list li .name span {
    font-size: 12px;
    color: #fff;
    text-align: center;
    margin-left: 4px;
    padding: 0 2px;
    border-radius: 2px;
    flex: 0 0 65px;
}

.new_movie .movie_list li .name span.red {
    background-color: #f44336;
}

.new_movie .movie_list li .name span.pink {
    background-color: #ec407a;
}

.new_movie .movie_list li .name span.orange {
    background-color: #ff9800;
}

.new_movie .movie_list li .store {
    line-height: 1.4;
    overflow: hidden;
    vertical-align: middle;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.new_movie .movie_list li .store a {
    display: inline-block;
    font-size: 13px;
    font-weight: bold;
    color: #222;
}

.new_movie .movie_list li .place {
    font-size: 12px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.new_movie .movie_cm {
    margin-bottom: 80px;
    border: 2px solid #6bb32c;
}

.new_movie .movie_cm h3 {
    position: relative;
    color: #fff;
    padding: 0 0 0 70px;
    background-color: #6bb32c;
}

.new_movie .movie_cm h3::before {
    position: absolute;
    top: -5px;
    left: 10px;
    content: url(../images/pages/article/movie/movie_icon03.png);
}

.new_movie .movie_cm h3 a {
    display: block;
    float: right;
    margin-top: -2px;
    padding-right: 5px;
}

.new_movie .movie_cm li {
    font-size: 12px;
    line-height: 1.2;
    text-align: center;
    padding: 15px 0 15px 15px;
}

.new_movie .movie_cm li .img {
    position: relative;
    width: 246px;
    height: 138px;
    text-align: center;
    background-color: #000;
}

.new_movie .movie_cm li .img a::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 50px;
    margin: auto;
    content: url(../images/common/movie_icon-af0433c37b8d373b7229066189a6542e.png);
}

.new_movie .movie_cm li .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.new_movie .movie_cm li .img .time {
    position: absolute;
    right: 5px;
    bottom: 5px;
    line-height: 1;
    color: #fff;
    text-shadow: 0 0 2px #111;
}

.new_movie .movie_cm li .store a {
    display: block;
    width: 246px;
    font-size: 16px;
    font-weight: bold;
    color: #333;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.new_movie .movie_cm li .place {
    display: block;
    width: 246px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.new_movie .movie_cm .button {
    text-align: center;
    padding: 5px 0;
    background-color: #e9f4e0;
}

/*  private
--------------------------------------------------------------*/
.private .private_nav {
    background-color: #262626;
    border-bottom: 3px solid #f44336;
}

.private .private_nav li {
    float: left;
    width: 253px;
    text-align: center;
    margin: 10px 0 0 10px;
}

.private .private_nav li a {
    display: block;
    font-size: 18px;
    font-weight: bold;
    color: #111;
    padding: 7px 0 4px;
    background-color: #fff;
    border-radius: 3px 3px 0 0;
}

.private .private_nav li a.active {
    color: #fff;
    background-color: #f44336;
}

.private .private_nav li a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.private .private_nav li a::before {
    content: url(../images/ranking/icon01-688f6a227f0fe959c67b11f353c7ecc4.png);
}

.private .private_nav li a.active::before {
    content: '';
}

.private .private_search {
    padding: 10px;
    border: 10px solid #d9e2ec;
}

.private .private_search h3 {
    float: left;
    width: 105px;
    font-size: 14px;
}

.private .private_search ul {
    float: left;
    width: 440px;
}

.private .private_search li {
    display: inline;
    float: none;
    width: 220px;
    font-size: 14px;
}

.private .private_search .private_search_area {
    margin-left: 15px;
}

.private .private_search li span {
    font-weight: bold;
}

.private .private_search .right {
    float: right;
    width: 170px;
    text-align: center;
    padding: 12px 5px 0 0;
}

.private .private_search .right p:first-child a {
    color: #fff;
    text-align: center;
    padding: 10px 20px;
    background-color: #1976d2;
    border-radius: 5px;
    text-decoration: none;
}

.private .private_search .right p:first-child a:hover {
    opacity: 0.8;
}

.private .private_search .right p:first-child a::before {
    padding-right: 5px;
    content: url(../images/private/icon01.png);
    vertical-align: middle;
}

.private .private_search .right p:last-child {
    font-size: 14px;
    padding-top: 12px;
}

.private .private_search .right p:last-child a {
    color: #111;
    text-decoration: underline;
}

.private .private_search .right p:last-child a:hover {
    opacity: 0.6;
}

.private .private_pickup {
    margin-bottom: 30px;
}

.private .private_pickup h3 {
    position: relative;
    color: #111;
    margin: 20px 0 0 0;
    padding: 2px 0 0 70px;
    background-color: #fcdc18;
}

.private .private_pickup h3::before {
    position: absolute;
    top: -7px;
    left: 10px;
    content: url(../images/private/icon02.png);
}

.private .private_pickup ul {
    padding: 15px 0 10px 15px;
    background-color: #fcfcbd;
}

.private .private_pickup li {
    float: left;
    width: 246px;
    text-align: center;
    margin-right: 15px;
}

.private .private_pickup li a {
    display: block;
    width: 240px;
    font-size: 16px;
    font-weight: bold;
    margin: 0 auto;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.private .private_pickup li a.store-link:hover {
    color: #000;
}

.private .private_pickup li .img {
    position: relative;
    width: 245px;
    height: 184px;
    text-align: center;
    margin-bottom: 5px;
}

.private .private_pickup li .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.private .private_pickup li .store, .private .private_pickup li .place {
    display: block;
    width: 240px;
    line-height: 1.4;
    margin: 0 auto;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.private .private_pager .count span {
    color: red;
}

.private .private_pager .button {
    float: right;
    padding: 20px 0;
}

.private .private_pager .button li {
    width: 98px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    padding: 1px;
    background-color: #333;
}

.private .private_pager .button li.active {
    background-color: #ec1f30;
}

.private .private_pager .button li:nth-of-type(1) {
    border-radius: 3px 0 0 3px;
}

.private .private_pager .button li:nth-of-type(3) {
    border-radius: 0 3px 3px 0;
}

.private .private_pager .button li a {
    display: block;
    color: #fff;
    background-color: #545454;
    border-top: 1px solid #767676;
    border-left: 1px solid #767676;
}

.private .private_pager .button li a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.private .private_pager .button li.active a {
    display: block;
    color: #fff;
    background-color: #f44336;
    border-top: 1px solid #f85e4c;
    border-left: 1px solid #f85e4c;
}

.private .private_list {
    margin-bottom: 10px;
    padding: 10px;
    background-color: #f8f6f4;
}

.private .private_list li {
    position: relative;
    margin: 0 9px 10px 0;
    padding: 15px;
    background-color: #fff;
    border: 1px solid #b3b3b3;
    border-radius: 5px;
}

.private .private_list li.today::before {
    position: absolute;
    top: 5px;
    left: -6px;
    z-index: 2;
    content: url(../images/pages/article/movie/movie_icon02-16b5e31b2baad34b9990be7d4e143508.png);
}

.private .private_list li .img {
    position: relative;
    float: left;
    width: 169px;
    height: 226px;
    text-align: center;
    background-color: #fff;
}

.private .private_list li .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.private .private_list li.today .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.private .private_list li .text {
    float: right;
    width: 555px;
}

.private .private_list li .date {
    font-size: 12px;
}

.private .private_list li .title {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    color: #005fc0;
    padding-bottom: 5px;
}

.private .private_list li .title a {
    display: block;
    width: 540px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.private .private_list li .box {
    font-size: 13px;
    padding: 15px 15px 10px;
    border: 1px solid #b3b3b3;
}

.private .private_list li .box a {
    display: block;
    text-align: right;
}

.private .private_list li .girl_img {
    position: relative;
    float: left;
    width: 63px;
    height: 84px;
    text-align: center;
    margin: 7px 10px 0 0;
    background-color: #fff;
}

.private .private_list li .girl_img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.private .private_list li .girl_text {
    float: left;
    width: 460px;
    padding: 7px 0 0 0;
}

.private .private_list li .girl_text .name a {
    font-weight: bold;
    color: #ec407a;
}

.private .private_list li .girl_text .name.shop-no1::after {
    font-size: 13px;
    color: #fff;
    margin-left: 5px;
    padding: 1px 4px 0;
    background-color: #f44336;
    border-radius: 2px;
    content: '人気嬢';
    display: inline-block;
}
.private .private_list li .girl_text .name.repeat-no1::after {
    font-size: 13px;
    color: #fff;
    margin-left: 5px;
    padding: 1px 4px 0;
    background-color: #ec407a;
    border-radius: 2px;
    content: '店長おすすめ';
    display: inline-block;
}
.private .private_list li .girl_text .name.newbie::after {
    font-size: 13px;
    color: #fff;
    margin-left: 5px;
    padding: 1px 4px 0;
    background-color: #ff9800;
    border-radius: 2px;
    content: '期待の新人';
}

.private .private_list li .girl_text .name.newbie::after {
    font-size: 13px;
    color: #fff;
    margin-left: 5px;
    padding: 1px 2px 0;
    background-color: #ff9800;
    border-radius: 2px;
    content: '期待の新人';
}

.private .private_list li .girl_text .store {
    padding-bottom: 2px;
}

.private .private_list li .girl_text .store a {
    font-weight: bold;
    color: #333;
}

.private .private_list li .girl_text .store.dx::after {
    font-size: 13px;
    color: #fff;
    margin-left: 5px;
    padding: 0 3px;
    background-color: #ff9800;
    border-bottom: 1px solid #f58b25;
    border-radius: 2px;
    content: 'DX';
}

.private .private_list li .girl_text .place {
    font-size: 13px;
    line-height: 1.2;
}

.private .private_list li .girl_text .recruit a {
    font-size: 13px;
    color: #ec407a;
}

.private .private_pager .count {
    float: left;
    padding: 20px 0;
}

.private .private_pager .count p {
    display: inline;
}

.private .private_pager .pager {
    float: right;
    padding: 20px 0;
}

.private .private_pager .pager li {
    display: inline-block;
    vertical-align: middle;
}

.private .private_pager .pager li.number a {
    display: inline-block;
    width: 28px;
    height: 26px;
    color: #111;
    text-align: center;
    padding-top: 3px;
    background: url(../images/pages/article/pager-bk_off-3140e141407c9dcbca241b42a8b38544.jpg) no-repeat;
}

.private .private_pager .pager li.number a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.private .private_pager .pager li.active a {
    color: #fff;
    background: url(../images/pages/article/pager-bk_on-b7e197d76073fb9a13850a4d59a0e0fc.jpg) no-repeat;
}

#search_side .side_box03 > p input[type='checkbox'] {
    margin: 15px 0 20px 15px;
}

/*  search_result
--------------------------------------------------------------*/
.search_result {
    margin-bottom: 20px;
}

.search_result h2 {
    margin-bottom: 20px;
    border-bottom: 2px solid #dbdbdb;
}

.search_result .search_box {
    padding: 20px;
    background-color: #f8f6f4;
}

.search_result input[type='search'] {
    float: left;
    width: 670px;
    height: 34px;
    padding: 9px;
    border: 1px solid #b3b3b3;
    border-radius: 2px 0 0 2px;
    box-sizing: border-box;
    vertical-align: middle;
}

.btn_search {
    width: 82px;
    height: 34px;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    background-color: #282524;
    background-image: linear-gradient(#6e6d6b, #282524);
    border-width: 1px;
    border-style: solid;
    border-color: #333;
    border-radius: 0 4px 4px 0;
    box-sizing: border-box;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4) inset, 0 -1px 0 rgba(0, 0, 0, 1) inset;
    -webkit-appearance: none;
}

.search_result .search_box ul {
    margin-top: 20px;
}

.search_result .search_box li {
    float: left;
    width: 370px;
}

.search_result .search_box ul li:first-child {
    margin-right: 20px;
}

.search_result .search_box li a {
    display: block;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    padding: 7px 0;
    background-color: #1976d2;
    border-radius: 30px;
}

.search_result .search_box li a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.search_result h3 {
    font-size: 22px;
    font-weight: bold;
    margin-top: 20px;
    padding: 10px 0 10px 50px;
    background: #feeceb url(../images/search/search_icon02-0d849f968265c61a8c4369aabcff8005.png) 16px 16px no-repeat;
    border-bottom: 3px solid #f44336;
}

.search_result h3.icon_03 {
    margin-top: 30px;
    background: #feeceb url(../images/search/search_icon03-e3abc71065607d491a23b8bee82ff438.png) 16px 14px no-repeat;
}

.search_result h3.icon_05 {
    margin-top: 30px;
    padding: 5px 0 5px 30px;
    background: #fff url(../images/search/search_icon05-49ca154bec4c2d3e36947fde9214d2c5.png) 0 9px no-repeat;
}

.search_result h3.icon_13 {
    background: #feeceb url(../images/search/search_icon13.png) 16px 14px no-repeat;
}

.search_result h3:nth-of-type(2) {
    background: #feeceb url(../images/search/search_icon03-e3abc71065607d491a23b8bee82ff438.png) 17px 19px no-repeat;
}

.search_result h3 + .number {
    font-size: 18px;
    color: #ec1f30;
    padding: 10px 0;
}

.search_result h3 + .number span {
    font-weight: bold;
    color: #ec1f30;
}

.search_result .search_list {
    padding: 10px;
    background-color: #f2f0ed;
}

.search_result .search_list .search_border {
    margin-bottom: 15px;
}

.search_result .search_list .search_border:last-child {
    margin-bottom: 0;
}

.search_result .search_list .search_border .search_title h4 {
    font-size: 20px;
    color: #fff;
}

.search_result .search_list .search_border .search_title h4 a {
    color: #fff;
}

.search_result .search_list .search_border .search_title h4 span {
    font-size: 12px;
    color: #fff;
}

.search_result .search_list .search_border .search_title .place {
    font-size: 12px;
    font-weight: normal;
    color: #fff;
}

.search_result .search_list .search_border .search_title .pink {
    font-size: 12px;
    color: #fff;
    padding: 0 5px;
    background-color: #ec407a;
    border-radius: 2px;
}

.search_result .search_list .search_border .search_title .blue {
    font-size: 12px;
    color: #fff;
    margin-left: 10px;
    padding: 0 5px;
    background-color: #1976d2;
    border-radius: 2px;
}

.search_result .search_list .search_border .search_title .pink:hover, .search_result .search_list .search_border .search_title .blue:hover {
    opacity: 0.8;
    text-decoration: none;
}

.search_result .search_cont {
    border: 1px solid #b3b3b3;
    border-radius: 0 0 5px 5px;
}

.search_result .search_cont {
    position: relative;
    padding: 20px;
}

.search_result .search_cont .img {
    float: left;
    width: 236px;
}

.search_result .search_cont .img li {
    float: left;
    width: 113px;
    height: 150px;
    padding: 0 5px 5px 0;
    overflow: hidden;
}

.search_result .search_cont .img li img {
    width: 100%;
    height: auto;
}

.search_result .search_cont .img .button {
    padding-top: 10px;
    clear: left;
}

.search_result .search_cont .text {
    float: right;
    width: 480px;
    margin-left: 20px;
}

.search_result .search_cont .info {
    font-size: 15px;
    color: #333;
    padding-bottom: 6px;
}

.search_result .search_cont .info li {
    display: inline;
    padding: 0 20px;
}

.search_result .search_cont .info_list li {
    display: inline;
    font-size: 11px;
    line-height: 1;
    color: #1976d2;
    margin: 0 5px 0 0;
    padding: 2px;
    border: 1px solid #1976d2;
    border-radius: 3px;
}

.search_result .search_cont .info_list li.red {
    color: #fff;
    background-color: #f44336;
    border: 1px solid #f44336;
    border-bottom: 1px solid #ae2015;
    border-radius: 3px;
}

.search_result .search_cont .info_list li.gray {
    color: #fff;
    background-color: #ccc;
    border: 1px solid #ccc;
}

.search_result .search_cont .info_list li.sugu {
    font-size: 14px;
    color: #111;
    border: none;
}

.search_result .search_cont .info_list li.sugu span {
    color: #f44336;
}

.search_result .search_cont .text .border {
    height: 197px;
    margin-top: 15px;
    margin-bottom: 13px;
    padding: 10px;
    border: 1px solid #b3b3b3;
}

.search_result .search_cont .text .border h5 {
    font-size: 18px;
    font-weight: bold;
    color: #005fc0;
    padding-bottom: 5px;
}

.search_result .search_cont .text .border p {
    line-height: 1.5;
}

.search_result .search_cont .text .border a {
    display: block;
    font-size: 13px;
    color: #005fc0;
    text-align: right;
    text-decoration: underline;
}

.search_result .search_cont .text .border a::before {
    content: '>>';
}

.search_result .search_cont .text .button_list li {
    width: 94px;
    text-align: center;
    margin-right: 2px;
}

.search_result .search_cont .text .button_list li:last-of-type {
    margin-right: 0;
}

.search_result .search_cont .text .button_list li a {
    display: block;
    width: 92px;
    font-size: 11px;
    font-weight: bold;
    color: #222;
    padding: 6px 0;
    background-color: #fff6fb;
    border: 1px solid #e9b9cb;
    border-bottom: 3px solid #e9b9cb;
    border-radius: 3px;
    letter-spacing: -1px;
}

.search_result .search_cont .text .button_list li a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.search_result .search_list > .button {
    text-align: center;
}

.search_result .search_list > .button a {
    display: block;
    width: 370px;
    font-weight: bold;
    color: #fff;
    margin: 20px auto 10px;
    padding: 10px 0;
    background-color: #1976d2;
    border-radius: 30px;
}

.search_result .search_list > .button a::before {
    padding-right: 5px;
    content: url(../images/search/search_icon04.png);
    vertical-align: middle;
}

.search_result .search_list > .button a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.search_result .re_search h3 {
    background: #fff url(../images/search/search_icon05-49ca154bec4c2d3e36947fde9214d2c5.png) 17px 16px no-repeat;
}

.search_result .re_search p {
    padding: 20px;
    background-color: #f8f6f4;
}

/*  store_search
--------------------------------------------------------------*/
.store_search h2 {
    font-size: 28px;
    margin-bottom: 20px;
    border-bottom: 2px solid #dbdbdb;
}

.store_search .search_box {
    padding: 10px;
    border: 10px solid #d9e2ec;
}

.store_search .search_box h3 {
    float: left;
    width: 105px;
    font-size: 14px;
}

.store_search .search_box ul {
    float: left;
    width: 440px;
}

.store_search .search_box li {
    float: left;
    width: 220px;
    font-size: 14px;
}

.store_search .search_box li span {
    font-weight: bold;
}

.store_search .search_box .right {
    float: right;
    width: 170px;
    text-align: center;
    padding: 10px 5px 0 0;
}

.store_search .search_box .right p:first-child a {
    color: #fff;
    text-align: center;
    padding: 10px 20px;
    background-color: #1976d2;
    border-radius: 5px;
    text-decoration: none;
}

.store_search .search_box .right p:first-child a::before {
    padding-right: 5px;
    content: url(../images/private/icon01.png);
    vertical-align: middle;
}

.store_search .search_box .right p:first-child a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.store_search .search_box .right p:last-child {
    font-size: 14px;
    padding-top: 10px;
}

.store_search .search_box .right p:last-child a {
    color: #111;
    text-decoration: underline;
}

.store_search .search_box .right p:last-child a:hover {
    opacity: 0.6;
}

.store_search .search_list {
    padding: 10px;
    background-color: #f2f0ed;
}

.search_list .search_border {
    margin-bottom: 15px;
}

.search_list .search_border:last-child {
    margin-bottom: 0;
}

.search_list .search_border .search_title {
    display: -webkit-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    padding: 6px 20px;
    background-color: #343434;
    border-bottom: 3px solid #9a9999;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.search_list .search_border .search_title h4 {
    font-size: 20px;
    color: #fff;
}

.search_list .search_border .search_title h4 a {
    color: #fff;
}

.search_list .search_border .search_title .place {
    font-size: 12px;
    color: #fff;
    padding-top: 3px;
}

.search_list .search_border .search_title .icon {
    display: -webkit-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    margin-left: 20px;
    white-space: nowrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    align-items: center;
}

.search_list .search_title .icon a {
    display: inline-block;
    font-size: 13px;
    color: #fff;
    margin: 0 2px;
    padding: 0 5px;
    background-color: #ec407a;
    border-radius: 2px;
}

.search_list .search_border .search_title .blue {
    margin-left: 2px;
    background-color: #1976d2;
}

.search_list .search_border .search_title .pink:hover, .search_list .search_border .search_title .blue:hover {
    opacity: 0.8;
    text-decoration: none;
}

.search_list .search_border .search_cont {
    position: relative;
    padding: 20px;
    background-color: #fff;
    border: 1px solid #b3b3b3;
    border-radius: 0 0 5px 5px;
    overflow: hidden;
}

.store_search .search_cont .img {
    float: left;
    width: 236px;
}

.store_search .search_cont .img ul {
    margin-bottom: 10px;
}

.store_search .search_cont .img li {
    float: left;
    width: 113px;
    height: 150px;
    margin: 0 5px 5px 0;
    overflow: hidden;
}

.store_search .search_cont .img li:nth-of-type(2n) {
    margin-right: 0;
}

.search_list .search_border .search_cont .img li img {
    width: 100%;
    height: auto;
}

.search_list .search_border .search_cont .img .button {
    clear: left;
}

.search_list .search_border .button a {
    position: relative;
    display: block;
    width: 100%;
    height: 25px;
    font-size: 13px;
    font-weight: bold;
    color: #222;
    text-align: center;
    padding-top: 5px;
    background-color: #eaf2f5;
    background-size: 186px auto;
    border: 1px solid #c4d8e3;
    border-radius: 4px;
    box-shadow: 0 2px #abbcc4;
}

.search_list .search_border .button a::before, .search_list .search_border .button a::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    content: '';
    vertical-align: middle;
}

.search_list .search_border .button a::before {
    right: 28px;
    width: 5px;
    height: 5px;
    border-top: 2px solid #222;
    border-right: 2px solid #222;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.store_search .img .button a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.store_search .search_cont .text {
    float: right;
    width: 480px;
    margin-left: 20px;
}

.store_search .search_cont .info {
    font-size: 15px;
    color: #333;
    padding-bottom: 4px;
}

.store_search .search_border .info li {
    display: inline;
    padding: 0 20px;
}

.store_search .info_list li {
    display: inline;
    font-size: 11px;
    line-height: 1;
    color: #1976d2;
    margin: 0 5px 0 0;
    padding: 2px;
    border: 1px solid #1976d2;
    border-radius: 3px;
}

.store_search .info_list li.red {
    color: #fff;
    background-color: #f44336;
    border-width: 1px;
    border-style: solid;
    border-color: #f44336 #f44336 #ae2015;
}

.store_search .info_list li.gray {
    color: #fff;
    background-color: #ccc;
    border: 1px solid #ccc;
}

.store_search .info_list li.sugu {
    font-size: 14px;
    color: #111;
    border: none;
}

.store_search .search_list .search_border .search_cont .info_list li.sugu span {
    color: #f44336;
}

.store_search .search_list .search_border .search_cont .text .border {
    height: 197px;
    margin-top: 15px;
    margin-bottom: 13px;
    padding: 10px;
    border: 1px solid #b3b3b3;
}

.store_search .search_list .search_border .search_cont .text .border h5 {
    font-size: 18px;
    font-weight: bold;
    color: #005fc0;
    padding-bottom: 5px;
}

.store_search .search_list .search_border .search_cont .text .border p {
    line-height: 1.5;
}

.store_search .search_list .search_border .search_cont .text .border a {
    display: block;
    font-size: 13px;
    color: #005fc0;
    text-align: right;
}

.store_search .search_list .search_border .search_cont .text .border a::before {
    content: '>>';
}

.store_search .search_list .search_border .search_cont .text .button_list li {
    width: auto;
    text-align: center;
    margin-right: 5px;
}

.store_search .search_list .search_border .search_cont .text .button_list li:last-of-type {
    margin-right: 0;
}

.store_search .search_list .search_border .search_cont .text .button_list li a {
    display: block;
    width: 90px;
    font-size: 11px;
    font-weight: bold;
    color: #222;
    padding: 6px 0;
    background-color: #fff6fb;
    border: 1px solid #e9b9cb;
    border-bottom: 3px solid #e9b9cb;
    border-radius: 3px;
    letter-spacing: -1px;
}

.store_search .search_list .search_border .search_cont .text .button_list li a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.store_search .search_list > .button {
    text-align: center;
}

.store_search .search_list > .button a {
    display: block;
    width: 370px;
    font-weight: bold;
    color: #fff;
    margin: 20px auto 10px;
    padding: 10px 0;
    background-color: #1976d2;
    border-radius: 30px;
}

.store_search .search_list > .button a::before {
    padding-right: 5px;
    content: url(../images/search/search_icon04.png);
    vertical-align: middle;
}

.store_search .search_list > .button a:hover {
    opacity: 0.8;
    text-decoration: none;
}

/* --------------------------------------- */
/* エリア版エリアVIP */
/* --------------------------------------- */
/* エリアDX */
.search_list .search_border.area_recommend .search_title {
    background-color: #c11d28;
}

/* エリアDX */
.search_list .search_border.area_recommend.vip .search_title {
    background-color: #ffc040;
}

.search_list .search_border.area_recommend.vip h4 a, .search_list .search_border.area_recommend.vip .search_title .place {
    color: #222;
}

/*--------------------------------
  写真サイズ2枚用
--------------------------------*/
.search_list .small_size .img li {
    float: left;
    width: 90px;
    height: 120px;
    overflow: hidden;
}

.search_list .small_size .search_cont .img {
    float: none;
    width: 190px;
    flex: 0 0 190px;
}

.search_list .small_size .search_cont .text {
    display: flex;
    float: none;
    margin-left: 25px;
    flex-direction: column;
    flex: 1;
}

.search_list .small_size .button_list {
    display: inline-block;
    margin-top: auto;
    vertical-align: bottom;
}

.search_list .small_size .search_cont .button_list li {
    width: auto;
}

.search_list .small_size .search_cont .info li:nth-of-type(3) {
    width: auto;
}

.kodawari_box {
    margin-left: 8px;
}

.kodawari_box li {
    min-width: 150px;
    max-width: 200px;
    margin-bottom: 5px;
}

.inner_modal {
    text-align: center;
}

.search_list .small_size .search_cont > div {
    display: flex;
    align-content: stretch;
}

.search_list .small_size .search_cont .info_list {
    margin-bottom: 10px;
}

/*--------------------------------
 店舗ロゴ1枚の無料店舗用
--------------------------------*/
.search_list .search_border.one_photo .search_cont .img li {
    float: none;
    width: 90px;
    height: 120px;
    overflow: hidden;
}

.one_photo .search_cont > div {
    display: flex;
    align-content: stretch;
}

.store_search .one_photo .search_cont .img {
    float: none;
    flex: 0;
}

.store_search .one_photo .search_cont .text {
    float: none;
    flex: 1;
}

.search_list .search_border.one_photo .search_cont .img .button a::before, .search_list .search_border.one_photo .search_cont .img .button a::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    content: '';
    vertical-align: middle;
}

.search_list .search_border.one_photo .search_cont .img .button a::before {
    right: 28px;
    width: 5px;
    height: 5px;
    border-top: 2px solid #222;
    border-right: 2px solid #222;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.search_list .search_border.one_photo .search_cont .img {
    position: relative;
    display: inline-block;
    float: none;
    width: 90px;
    height: 120px;
    margin-right: 20px;
    background-color: #eee;
}

.search_list .search_border.one_photo .search_cont .img li img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    max-width: 90px;
    max-height: 120px;
    margin: auto;
}

.search_list .search_border.one_photo .search_cont .text {
    display: inline-block;
    float: none;
    margin-left: 0;
}

.search_list .search_border.one_photo .more {
    color: #005fc0;
    text-align: right;
}

.search_list .search_border.one_photo .more a::before {
    color: #005fc0;
    content: '>>';
}

.search_list .search_border.one_photo .search_cont .info li:nth-of-type(3) {
    width: auto;
}

/*  search_side
--------------------------------------------------------------*/
#search_side {
    position: relative;
    float: left;
    width: 220px;
    margin-bottom: 10px;
    background-color: #edf0f2;
}

#search_side > div {
    margin: 5px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
}

#search_side .side_box01 {
    height: 45px;
}

#search_side .side_box01 p {
    float: left;
    line-height: 45px;
    padding: 0 10px;
}

#search_side .side_box01 p:last-child {
    float: right;
    font-size: 18px;
    line-height: 48px;
    color: #ec1f30;
    padding: 0 8px;
}

#search_side .side_box01 p:last-child span {
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    color: #ec1f30;
}

/* --------------------------------------- */
/* サイドカラム 検索条件指定 */
/* --------------------------------------- */
/* 検索条件見出し */
#search_side h2 {
    font-size: 14px;
    font-weight: bold;
    padding: 10px 0 2px 30px;
    border-bottom: 1px solid #ccc;
}

#search_side .pop_position {
    position: relative;
}

/* 検索結果件数 */
#search_side > .result_frame {
    position: fixed;
    top: 0;
    z-index: 99;
    display: none;
    width: 220px;
    margin: 0;
    padding-bottom: 5px;
    background: linear-gradient(to bottom, #edf0f2, #edf0f2 90%, transparent);
    border: none;
    border-radius: 0;
    box-sizing: border-box;
}

.result_frame .side_box01 {
    margin: 5px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
}

#search_side .button01 {
    font-size: 13px;
    margin: 6px;
    padding: 12px 26px 12px 10px;
    background-image: url(../images/search/side_icon09-1a9fe9baa2f20d727aa65f9a4b3c6c67.png);
    background-repeat: no-repeat;
    background-position: 180px 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.2s ease;
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}

#search_side .pop_position.open .button01 {
    color: #fff;
    margin-right: 0;
    background-color: #f54335;
    background-image: url(../images/search/arrow_white-bb10f4ea070272b25413dab25447e1c9.png);
    border-color: #f54335;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

#search_side .pop_box {
    position: absolute;
    top: 0;
    left: 208px;
    z-index: 100;
    display: none;
    width: 800px;
}

#search_side .pop_border {
    max-height: 500px;
    color: #555;
    margin-bottom: 0;
    background-color: #fff;
    border: 3px solid #f54335;
    overflow: hidden;
    overflow-y: auto;
}

/* --------------------------------------- */
/* タッチデバイス用閉じるボタン */
/* --------------------------------------- */
#search_side .btn_close {
    position: absolute;
    top: -20px;
    right: 800px;
    left: 988px;
    z-index: 1000;
    width: 36px;
    height: 36px;
    background-color: #f54335;
    background-image: url('../images/search/icon_close-7fbfde96d90b9df024dc1726330817b0.png');
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: 100%;
}

#search_side .pop_border.syurui > .clearfix {
    padding: 20px 20px 10px;
}

#search_side .pop_border.syurui ul ul {
    padding: 0;
}

#search_side .pop_border.syurui .child_check_li {
    display: inline-block;
    width: auto;
    font-size: 13px;
    color: #005fc0;
    padding-bottom: 0;
    padding-left: 0;
}

#search_side .pop_border.syurui h4 {
    padding-bottom: 10px;
}

#search_side .pop_border li p {
    display: inline-block;
    width: 120px;
    vertical-align: top;
}

#search_side .pop_border li a p {
    color: #005fc0;
}

#search_side .pop_border.kodawari li p {
    width: 130px;
    padding: 0 0 0 5px;
}

#search_side .pop_border.price li p {
    width: 280px;
}

#search_side .pop_border.chiiki > .clearfix {
    padding: 20px 20px 10px;
}

#search_side .pop_border.chiiki .clearfix > ul {
    float: left;
    width: 155px;
}

#search_side .pop_border h4 {
    font-size: 13px;
    margin: 0 20px 13px;
    padding: 12px 0 0;
    border-bottom: 1px solid #ccc;
}

.pop_border.kodawari p {
    padding: 0 0 0 20px;
}

.pop_border ul {
    padding: 8px 0 8px 24px;
    overflow: hidden;
}

#search_side .pop_border.size ul, #search_side .pop_border.type ul {
    padding: 0 20px 10px;
}

/* --------------------------------------- */
/* 中身 */
/* --------------------------------------- */
#search_side .pop_border li {
    display: inline-block;
    font-size: 14px;
    line-height: 2em;
    margin: 0;
}

.side_box03 .pop_border:not(.syurui) li, .place_search li {
    width: 230px;
}

#search_side .child_check_ul li {
    margin-right: 20px;
}

#search_side .pop_border.size {
    padding-bottom: 10px;
}

#search_side .pop_border.size p {
    padding: 0 20px 10px;
}

#search_side .pop_border.size p select {
    width: 100px;
    padding: 5px;
}

#search_side .button02 {
    width: 188px;
    margin: 20px auto 10px;
}

#search_side .button02 button {
    display: block;
    width: 188px;
    color: #fff;
    text-align: center;
    padding: 20px 0;
    background-color: #1976d2;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

#search_side .button02 button:hover {
    opacity: 0.8;
}

/* 見出しアイコン */
#search_side [class^='icon-side_'] {
    background-repeat: no-repeat;
}

.icon-side_type {
    background-image: url(../images/search/side_icon01-11a7c7872341e50eba8efb6e7f505b60.png);
    background-position: 10px 14px;
}

.icon-side_area {
    background-image: url(../images/search/side_icon02-78592ef0595f2b6a2a3dd14b1af53b87.png);
    background-position: 12px 12px;
}

.icon-side_refine {
    background-image: url(../images/search/side_icon03-26cd2a369188a09152cb18bb3f5ae384.png);
    background-position: 10px 12px;
}

.icon-side_kodawari {
    background-image: url(../images/search/side_icon04-ecf6765ceb81b936e849fec6fc14ee86.png);
    background-position: 10px 14px;
}

.icon-side_price {
    background-image: url(../images/search/side_icon05-af81b1f430a257ba335d166be83ff7ca.png);
    background-position: 12px 13px;
}

.icon-side_size {
    background-image: url(../images/search/side_icon06-79ef6c062923e94ebd640ceb90765f7d.png);
    background-position: 10px 12px;
}

.icon-side_card {
    background-image: url(../images/search/side_icon07-4a6581e5e45d529b2fc8a5774fde5816.png);
    background-position: 8px 14px;
}

.icon-side_search {
    background-image: url(../images/search/side_icon08-8e0f3983e1b22e7784902089ee266a33.png);
    background-position: 10px 12px;
}

.icon-side_contents {
    background-image: url(../images/search/side_icon13-9955a7ea122fd9e2a594c0fd7e4ca9d6.png);
    background-position: 10px 12px;
}

.icon-side_service {
    background-image: url(../images/search/side_icon16-387e79b95731612d9bd9735f7a56e599.png);
    background-position: 11px 14px;
}

.icon-side_today {
    background-image: url(../images/search/side_icon17-32589f042dc4f612fc79d5db9f221ee5.png);
    background-position: 10px 12px;
}

.icon-side_newface {
    background-image: url(../images/search/side_icon18-f33e4de2607a2b7d88d429c4601212a4.png);
    background-position: 10px 12px;
}

.icon-side_genre {
    background-image: url(../images/search/side_icon19-c3c91219bc487056eed667a7561ca50a.png);
    background-position: 10px 12px;
}

.icon-side_personal {
    background-image: url(../images/pages/tokai/tab3-T-6f8fb67c4318deb6d112287f769235a7.png);
    background-position: 10px 12px;
    background-position: 10px 12px;
}

/* クレジットカード */
#search_side .side_box03 > .card {
    font-size: 13px;
    padding: 10px 15px 0;
}

#search_side .side_box03 > ul {
    margin: 10px 0 0 15px;
}

#search_side .side_box03 input[type='search'] {
    width: 196px;
    margin: 6px;
    padding: 14px 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
}

#search_side input::placeholder {
    color: #ababab;
}

#search_side .side_box03 .button03 a {
    display: block;
    color: #fff;
    margin: 10px;
    padding: 10px 0 10px 35px;
    background: #808080 url(../images/search/side_icon10-5001bf365e6e3053e6d889c76caa80cd.png) 12px 12px no-repeat;
    border: 1px solid #ccc;
    border-radius: 5px;
}

#search_side .side_box03 .button03 a:hover {
    opacity: 0.8;
    text-decoration: none;
}

/* 検索ページ用サイド */
.wrap_block_list {
    margin: 8px;
}

.wrap_block_list h4 {
    font-weight: bold;
    color: #1a4a7b;
    padding: 4px;
    background-color: #e1eeff;
}

.pop_border.chiiki h5, .block_list h5 {
    font-size: 15px;
    font-weight: bold;
    margin-right: 15px;
    padding-left: 25px;
    box-sizing: border-box;
    text-indent: -1em;
    flex: 0 0 120px;
}

.block_list > li {
    font-size: 13px;
    background-color: #f1f8ff;
}

.block_list li > ul > li {
    display: inline-block;
    margin: 4px 0 4px 12px;
}

.hl_open {
    font-size: 16px;
    color: #005fc0;
    padding: 6px 12px;
    background-color: #d2e5ff;
    background-image: url(../images/search/side_icon_close-1aa41949628ae748972538270ee026de.png);
    background-repeat: no-repeat;
    background-position: right 10px center;
    border-radius: 6px 6px 0 0;
    box-sizing: border-box;
    cursor: pointer;
}

.hl_open_always {
    font-size: 15px;
    color: #005fc0;
    padding: 6px 10px;
    background-color: #d2e5ff;
    border: none;
    border-radius: 6px 6px 0 0;
    box-sizing: border-box;
}

.hl_open.close {
    padding: 4px 8px;
    background: #fff url(../images/search/side_icon_arrow-4a2ac094b29da019d9f5c6c875334595.png) right 10px center no-repeat;
    border: 2px solid #d2e5ff;
    border-radius: 6px;
    box-shadow: none;
}

.hl_open.close:hover {
    background: #d2e5ff url(../images/search/side_icon_arrow-4a2ac094b29da019d9f5c6c875334595.png) right 10px center no-repeat;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}

.store_search .search_pager .count {
    padding-top: 0;
}

.store_search .search_pager .button {
    padding-top: 0;
}

.hl_open_always + .block_list > li {
    margin-bottom: 0 !important;
}

.hl_open_always + .block_list li > ul {
    margin-left: 0 !important;
}

/* 絞り込み用サイド*/
.side_search_radio {
    margin: 6px 14px 0;
}

.side_search_radio label[for='wordSelectId1'] {
    margin-right: 1em;
}

.side_search_areacheck {
    font-size: 14px;
    line-height: 15px;
    margin: -2px 12px 8px;
}

.side_search_areacheck input {
    margin-right: 5px;
}

.closely_info_icon {
    margin-left: 6px;
}

.closely_info {
    position: relative;
    font-size: 11px;
    line-height: 1.4em;
    color: #333;
    margin-top: 4px;
    padding: 8px;
    background-color: #e0edff;
    border-radius: 4px;
}

.closely_info::before {
    position: absolute;
    top: -8px;
    right: 58px;
    display: block;
    width: 0;
    height: 0;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #e0edff;
    border-left: 10px solid transparent;
    content: '';
}

.closely_info h4 {
    color: #2655a0;
    margin-bottom: 4px;
}

#search_side .pop_border.syupatsu > .clearfix {
    padding: 20px 20px 10px;
}

#search_side .pop_border.syupatsu .clearfix > ul {
    float: left;
    width: 155px;
}

#search_side .pop_border.syupatsu ul li {
    font-size: 13px;
    color: #005fc0;
    padding-bottom: 0;
    padding-left: 0;
}

#search_side .pop_border.syupatsu h4 {
    padding-bottom: 10px;
}

#modal-content.search_modal .content .item {
    display: flex;
    margin-bottom: 2px;
}

#modal-content.search_modal .content .item.sel {
    align-items: center;
}

#modal-content.search_modal .content .item ul {
    padding: 4px;
    padding-left: 8px;
}

#modal-content.search_modal .content .kodawari ul {
    padding: 0 0 7px;
}

#modal-content.search_modal .content .item li p {
    display: inline-block;
    font-size: 14px;
    color: #333;
    padding-top: 0;
}

#modal-content.search_modal h4 {
    color: #ff4848;
    background-color: #ffe7e7;
}

#modal-content.search_modal .gyosyu_wrap + .gyosyu_wrap {
    float: left;
    margin-right: 6px;
}

#modal-content .search_areacheck {
    font-size: 14px;
    color: #333;
    margin-left: 16px;
}

#modal-content .search_areacheck strong {
    display: block;
    color: #2655a0;
    margin-bottom: 4px;
}

#modal-content .search_areacheck .closely_info {
    margin-right: 16px;
}

#modal-content .search_areacheck .closely_info::before {
    left: 108px;
}

#modal-content .search_areacheck input {
    margin-right: 6px;
}

#modal-content .search_areacheck .closely_info_icon {
    vertical-align: sub;
}

#search_side .pop_border.syurui .block_list, #search_side .pop_border.chiiki .block_list {
    padding: 0;
    overflow: hidden;
}

#search_side .pop_border.syurui .block_list > li, #search_side .pop_border.chiiki .block_list > li {
    display: flex;
    width: 100%;
    font-size: 13px;
    margin: 0;
    padding: 6px;
}

#search_side .pop_border.chiiki .block_list > li {
    display: flex;
    margin-bottom: 4px;
}

#search_side .pop_border.chiiki ul ul {
    padding: 0;
}

/*  女の子検索
--------------------------------------------------------------*/
.girl_search h2 {
    font-size: 28px;
    margin-bottom: 20px;
    border-bottom: 2px solid #dbdbdb;
}

.girl_search .search_box {
    padding: 10px;
    border: 10px solid #d9e2ec;
}

.girl_search .search_box h3 {
    float: left;
    width: 105px;
    font-size: 14px;
}

.girl_search .search_pager {
    margin-bottom: 10px;
}

.girl_search .search_box ul {
    float: left;
    width: 480px;
}

.girl_search .search_box.w350 ul {
    width: 350px;
}

.girl_search .search_box.w700 ul {
    width: 700px;
}

.girl_search .search_box li {
    display: inline;
    font-size: 14px;
    padding: 0 25px 0 0;
}

.girl_search .search_box li {
    padding: 0 35px 6px 0;
}

.girl_search .search_box li span {
    font-weight: bold;
}

.girl_search .search_box .right {
    float: right;
    width: 170px;
    text-align: center;
    padding: 18px 5px 0 0;
}

.girl_search .search_box .right p:first-child a {
    color: #fff;
    text-align: center;
    padding: 10px 20px;
    background-color: #1976d2;
    border-radius: 5px;
    text-decoration: none;
}

.girl_search .search_box .right p:first-child a::before {
    padding-right: 5px;
    content: url(../images/private/icon01.png);
    vertical-align: middle;
}

.girl_search .search_box .right p:first-child a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.girl_search .search_box .right p:last-child {
    font-size: 14px;
    padding-top: 15px;
}

.girl_search .search_box .right p:last-child a {
    color: #111;
    text-decoration: underline;
}

.girl_search .search_box .right p:last-child a:hover {
    opacity: 0.6;
}

.girl_search .search_box .right.w280 {
    width: 280px;
}

.girl_search .search_box .right.w280 .btn {
    float: right;
}

.girl_search .search_box .right.w280 .reset {
    float: left;
    padding-top: 0;
}

.girl_search .search_pager .count {
    float: left;
}

.girl_search .search_pager .button {
    float: right;
}

.girl_search .search_pager .button li {
    width: 98px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    padding: 1px;
    background-color: #333;
}

.girl_search .search_pager .button li.active {
    background-color: #ec1f30;
}

.girl_search .search_pager .button li:first-of-type {
    border-radius: 3px 0 0 3px;
}

.girl_search .search_pager .button li:last-of-type {
    border-radius: 0 3px 3px 0;
}

.girl_search .search_pager .button li a {
    display: block;
    color: #fff;
    background-color: #545454;
    border-top: 1px solid #767676;
    border-left: 1px solid #767676;
}

.girl_search .search_pager .button li a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.girl_search .search_pager .button li.active a {
    display: block;
    color: #fff;
    background-color: #f44336;
    border-top: 1px solid #f85e4c;
    border-left: 1px solid #f85e4c;
}

.girl_search .search_pager .button li.pikup a {
    color: #ffda31;
}

.girl_search .girl_list {
    display: flex;
    padding: 0 4px;
    background-color: #f2f0ed;
    flex-wrap: wrap;
    align-items: stretch;
}

.girl_search .girl_list .girl_box {
    position: relative;
    width: 156px;
    margin-top: 4px;
    margin-right: 3px;
    margin-bottom: 4px;
    padding-bottom: 4px;
    background-color: #fff;
    border: 2px solid #dbdbdb;
    box-sizing: border-box;
}

.girl_search .girl_list .no1 {
    background-color: #fff0ea;
    border-color: #f44336;
}

.girl_search .girl_list .repeat {
    background-color: #fff1f7;
    border-color: #ff5890;
}

.girl_search .girl_list .new_face {
    background-color: #fcffd4;
    border-color: #fa8c0f;
}

.girl_search .girl_list .girl_box .name {
    margin-top: 6px;
}

.girl_search .girl_list .girl_box .img {
    position: relative;
    width: 152px;
    height: 203px;
    font-size: 12px;
    text-align: center;
}

.girl_search .girl_list .girl_box .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.girl_search .girl_list .no1 a::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    content: url(../images/search/search_icon10-6fc95f3693cce3134f10fcab72cac6e4.png);
}

.girl_search .girl_list .repeat a::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    content: url(../images/search/search_icon11-d2a25e69b4a61186723f4329416052d6.png);
}

.girl_search .girl_list .new_face a::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    content: url(../images/search/search_icon12-6143b910993a305d02081191c862aad6.png);
}

.girl_search .girl_list .girl_box:nth-of-type(5n) {
    margin-right: 0;
}

.girl_search .girl_box .name a {
    display: block;
    font-size: 15px;
    font-weight: bold;
    padding: 0 5px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.girl_box .name {
    line-height: 1.4em;
    margin-top: 6px;
}

.girl_search .girl_list .girl_box .store {
    font-weight: bold;
    padding: 4px 5px 0;
}

.girl_search .syukkin_time {
    position: absolute;
    right: 0;
    z-index: 2;
    display: inline-block;
    font-size: 11px;
    color: #fff;
    text-align: center;
    padding: 0 1px 0 17px;
    background-color: #f44336;
    background-image: url(../images/search/girl_search_time-c676a71fc7f235431ec1d1a5fb60f805.png);
    background-repeat: no-repeat;
    background-position: left 3px center;
    background-size: 11px;
}

.girl_search .syukkin_time.tomorrow {
    width: 58px;
    padding-left: 0;
    background-color: #555;
    background-image: none;
}

/* NEWFACE 新規追加 入店日付アイコン */
.new_face_icon {
    position: absolute;
    top: 154px;
    right: 0;
    height: 18px;
    font-size: 12px;
    line-height: 18px;
    color: #fff;
    padding: 1px 6px;
    background: rgba(0, 0, 0, 0.6);
}

.new_face_icon:last-child {
    top: 183px;
}

/* 流れる青い吹き出し */
.mutter {
    position: absolute;
    top: 176px;
    width: 146px;
    height: 1.8em;
    text-align: center;
    margin: 0 2px;
    background: rgba(255, 255, 255, 0.9);
    border: 2px solid #8dc2d8;
    border-radius: 30px;
    box-sizing: border-box;
}

.mutter::before {
    position: absolute;
    top: 23px;
    left: 65px;
    z-index: 2;
    display: inline-block;
    margin: 0 auto;
    border-top: 6px solid rgba(255, 255, 255, 0.9);
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    content: '';
}

.mutter::after {
    position: absolute;
    top: 23px;
    left: 62px;
    display: block;
    width: 0;
    height: 0;
    border-top: 9px solid #8cc2d9;
    border-right: 9px solid transparent;
    border-left: 9px solid transparent;
    content: '';
}

.inner_mutter_wrap {
    height: 2em;
    text-align: left;
    overflow: hidden;
}

.inner_mutter_txt {
    font-size: 12px;
    line-height: 2;
    color: #005fc1;
    padding-left: 8px;
}

.inner_mutter_txt span {
    display: inline-block;
    white-space: nowrap;
}

.inner_mutter_txt .marquee_on {
    padding-left: 160px;
}

.sugujo_list .inner_mutter_txt .marquee_on {
    padding-left: 340px;
}

.okinigirl_list .inner_mutter_txt .marquee_on {
    padding-left: 190px;
}

.girl_box .size {
    font-size: 12px;
    padding-left: 5px;
    letter-spacing: -1.1px;
}

.girl_box .type {
    font-size: 12px;
    color: #ff5890;
    padding: 0 5px;
}

.girl_box .icon {
    padding: 0 0 0 3px;
}

.icon_kodawari {
    width: auto;
    min-width: 30px;
    height: 20px;
    font-size: 11px;
    line-height: 20px;
    color: #fff;
    text-align: center;
    margin-right: 1px;
    background-color: #ffa536;
    border-radius: 3px;
    overflow: hidden;
    white-space: nowrap;
    letter-spacing: -1px;
    padding: 0 10px;
    margin-bottom: 1px;
}

.girl_box .icon [class^='icon'] {
    font-size: 10px;
    padding: 0 4px;
    margin-bottom: 1px;
}

.sugujo_list .icon [class^='icon'] {
    padding: 0 6px;
    margin-right: 2px;
    margin-bottom: 2px;
}

.girl_box .store {
    font-weight: bold;
    padding: 10px 5px 0;
}

.girl_search .girl_list .girl_box .store a {
    display: block;
    width: 140px;
    font-size: 12px;
    line-height: 1.2;
    color: #333;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.girl_search .girl_list .girl_box .place {
    width: 140px;
    font-size: 12px;
    line-height: 1.2;
    padding: 0 5px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.girl_search .search_pager2 {
    text-align: center;
    padding: 20px 0 10px;
}

.girl_search .search_pager2 li {
    display: inline-block;
    vertical-align: middle;
}

.girl_search .search_pager2 li.number a {
    display: inline-block;
    width: 28px;
    height: 26px;
    color: #111;
    text-align: center;
    padding-top: 3px;
    background: url(../images/pages/article/pager-bk_off-3140e141407c9dcbca241b42a8b38544.jpg) no-repeat;
}

.girl_search .search_pager2 li.number a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.girl_search .search_pager2 li.active a {
    color: #fff;
    background: url(../images/pages/article/pager-bk_on-b7e197d76073fb9a13850a4d59a0e0fc.jpg) no-repeat;
}

.search_pager2 li.prev, .search_pager2 li.next {
    position: relative;
    top: -1px;
    width: 110px;
    height: 28px;
    background: url(../images/search/search_button04-8eb1068ff60c9498e46fafda296def6f.png) no-repeat;
    border-radius: 3px;
    box-shadow: 1px 1px #ccc;
}

.search_pager2 li.prev .text, .search_pager2 li.next .text {
    position: relative;
    color: #111;
    margin-top: 3px;
}

.search_pager2 li.prev .text::after {
    position: absolute;
    top: 0;
    left: 6px;
    content: url(../images/search/search_button_arrow_left-0d18701e2ff95966ec686356789beeed.png);
}

.search_pager2 li.next .text::after {
    position: absolute;
    top: 0;
    right: 6px;
    content: url(../images/search/search_button_arrow-026af6160cd38bd061244a594acc1832.png);
}

.search_pager2 li.prev a:hover, .search_pager2 li.next a:hover {
    text-decoration: none;
}

.search_pager2 li.prev a > .text:hover, .search_pager2 li.next a > .text:hover {
    opacity: 0.7;
}

/*  検索モーダル共通
--------------------------------------------------------------*/
#modal-content.search_modal {
    position: fixed;
    z-index: 1001;
    display: none;
    width: 680px;
    height: 500px;
    text-align: left;
    margin: 0;
    padding: 0;
    background-color: #fff;
    border: 2px solid #f54335;
    overflow-y: scroll;
}

#modal-content.search_modal h4 {
    margin: 1px;
    padding: 5px 20px;
    border-bottom: 1px solid #ccc;
}

#modal-content.search_modal .content:not(.area_content) {
    padding: 12px;
}

#modal-content.search_modal .content.area {
    padding-right: 0;
    padding-left: 0;
}

#modal-content.search_modal .content.area ul.top {
    padding: 0;
    border-bottom: 2px solid #ccc;
}

#modal-content.search_modal .content.area ul.top li {
    position: relative;
    top: 2px;
    display: inline-block;
    float: none;
    width: 106px;
    color: #fff;
    text-align: center;
    margin-bottom: 0;
    margin-left: 11px;
    padding-top: 5px;
    padding-right: 0;
    padding-bottom: 2px;
    padding-left: 0;
    background-color: #424242;
    border: 2px solid #ccc;
    border-bottom: none;
    cursor: pointer;
    vertical-align: top;
}

#modal-content.search_modal .content.area ul.top li.selected {
    color: #424242;
    background-color: #fff;
}

.area_content {
    display: none;
    padding: 10px;
}

.area_content.selected {
    display: block;
}

#modal-content.search_modal .content .item.sel .form-parts {
    display: inline-block;
    width: 120px;
    background-color: #fff;
}

#modal-content.search_modal .content .item h4 {
    color: #222;
    padding-left: 10px;
    background: transparent;
    border-bottom: none;
}

#modal-content.search_modal .content h5 {
    font-size: 15px;
    color: #222;
    margin-right: 8px;
    padding: 8px 8px 8px 24px;
    background-color: #f5f5f5;
    border-bottom: none;
    text-indent: -1em;
    flex: 0 0 120px;
}

#modal-content.search_modal .content .item li {
    display: inline-block;
    line-height: 2em;
    margin-right: 15px;
}

#modal-content.search_modal .content .item.long li {
    display: inline-block;
    vertical-align: top;
}

#modal-content.search_modal .content .item.long.one_per_line li {
    display: block;
    width: 500px;
}

#modal-content.search_modal .content .item li input[type='search'] {
    width: 160px;
    padding: 5px 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

#modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    display: none;
    width: 100%;
    height: 120%;
    background-color: rgba(0, 0, 0, 0.75);
}

.button-link {
    color: #00f;
    text-decoration: underline;
}

.button-link:hover {
    color: #f00;
    cursor: pointer;
}

#modal-content h4 {
    font-size: 17px;
    padding: 10px 20px;
    border-bottom: 1px solid #ccc;
}

#modal-content > p select {
    width: 143px;
    padding: 5px 10px;
    border: 1px solid #bfbfbf;
}

#modal-content > .button button {
    display: block;
    width: 270px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    margin: 0 auto 20px;
    padding: 10px 0;
    background-color: #1976d2;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

#modal-content > .button button:hover {
    opacity: 0.8;
}

#modal-content .space {
    margin-top: 20px;
}

/*  mypage共通
--------------------------------------------------------------*/
.mypage .pankuzu ul {
    float: left;
}

.mypage .pankuzu .terop {
    position: relative;
    float: right;
    width: 770px;
    overflow: hidden;
}

.mypage .pankuzu .terop p::after {
    padding-right: 50px;
    content: '';
    white-space: nowrap;
}

.mypage .pankuzu .terop p {
    display: inline-block;
    margin: 0;
    padding-left: 770px;
    -webkit-animation-name: marquee;
    -ms-animation-name: marquee;
    -o-animation-name: marquee;
    animation-name: marquee;
    -webkit-animation-duration: 10s;
    -ms-animation-duration: 10s;
    -o-animation-duration: 10s;
    animation-duration: 10s;
    -webkit-animation-timing-function: linear;
    -ms-animation-timing-function: linear;
    -o-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    -ms-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    white-space: nowrap;
}

.mypage .pankuzu .button {
    float: right;
    width: 90px;
    margin-left: 10px;
}

#pages.mypage {
    background: #fff !important;
}

#pages.mypage #wrap {
    width: 1080px;
    padding: 0;
    overflow: visible;
    box-shadow: none;
}

.mypage .shadow {
    margin-top: 12px;
    padding-bottom: 50px;
    box-shadow: #ccc 0 0 3px;
}

/*  left_side
--------------------------------------------------------------*/
.mypage #left_side {
    float: left;
    width: 220px;
    padding: 20px;
}

.mypage #main_cont {
    float: left;
    width: 580px;
    padding: 20px 0;
}

.mypage #right_side {
    float: right;
    width: 200px;
    padding: 20px;
}

.mypage #left_side .bnr {
    margin-bottom: 10px;
}

.mypage #left_side .cont01 {
    margin-bottom: 10px;
    background-color: #ffedf3;
    border: 1px solid #fcc6c2;
}

.mypage #left_side .cont01 h2 {
    font-size: 15px;
    text-align: center;
    padding: 5px 0;
}

.mypage #left_side .cont01 p {
    text-align: center;
    margin: 0 5px 5px;
    padding: 5px 0;
    background-color: #fff;
    border: 1px solid #fdaca6;
}

.mypage #left_side .cont01 span {
    font-size: 24px;
    font-weight: bold;
    color: #f44336;
}

.mypage #left_side .cont01 a {
    font-size: 12px;
    color: #333;
}

.mypage #left_side .cont02 h2 {
    position: relative;
    font-size: 15px;
    color: #fff;
    text-align: center;
    padding: 0 0 0 20px;
    background: linear-gradient(#4b4b4b, #070505);
    border: 1px solid #000;
    line-height: 28px;
    height: 28px;
}

.mypage #left_side .cont02 h2::before {
    position: absolute;
    top: 5px;
    left: 30px;
    display: block;
    content: url(../images/mypage/left_icon01-c08e6310d18d667b39d8c9a970165ea3.png);
}

.mypage #left_side .cont03 h2::before {
    position: absolute;
    top: 5px;
    left: 30px;
    display: block;
    content: url(../images/mypage/left_icon02.png);
}

.mypage #left_side .cont02 .border {
    margin-bottom: 10px;
    padding: 3px;
    border-top: 3px solid #d4d2d3;
    border-right: 1px solid #b3b3b3;
    border-bottom: 1px solid #b3b3b3;
    border-left: 1px solid #b3b3b3;
}

.mypage #left_side .cont02 .clearfix {
    margin-bottom: 5px;
    padding: 5px;
    border: 1px solid #cbcbcb;
    border-radius: 3px;
}

.mypage #left_side .cont02 .clearfix .img {
    position: relative;
    float: left;
    width: 70px;
    height: 93px;
    text-align: center;
}

.mypage #left_side .cont02 .clearfix .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.mypage #left_side .cont02 .clearfix .text {
    float: right;
    width: 120px;
}

.mypage #left_side .cont02 .clearfix .text h3 {
    display: block;
    width: 120px;
    font-size: 14px;
    line-height: 1.4;
    color: #005fc0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage #left_side .cont02 .clearfix .text .store {
    line-height: 1.2;
}

.mypage #left_side .cont02 .clearfix .text .store a {
    display: block;
    width: 115px;
    font-size: 12px;
    font-weight: bold;
    color: #222;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage #left_side .cont02 .clearfix .text .place {
    width: 115px;
    font-size: 12px;
    color: #222;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage #left_side .cont02 .button {
    width: 200px;
    margin: 10px auto 5px;
}

.mypage #left_side .cont02 .button a {
    position: relative;
    display: block;
    font-size: 10px;
    font-weight: bold;
    color: #222;
    padding: 8px 0 8px 30px;
    background: url(../images/mypage/left_button02-6b97c22ceb7626aa26c399994890aeb6.png) no-repeat;
}

.mypage #left_side .cont02 .button a::before {
    position: absolute;
    top: 10px;
    left: 15px;
    content: url(../images/mypage/left_icon06-b59e2343a5e4921f0209d05e4c805c52.png);
}

.mypage #left_side .cont02 .button a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.mypage #left_side .cont03 h2 {
    position: relative;
    font-size: 15px;
    color: #fff;
    text-align: center;
    padding: 2px 0 2px 20px;
    background: linear-gradient(#4b4b4b, #070505);
    border: 1px solid #000;
}

.mypage #left_side .cont03 .border {
    margin-bottom: 10px;
    padding: 3px;
    border-top: 3px solid #d4d2d3;
    border-right: 1px solid #b3b3b3;
    border-bottom: 1px solid #b3b3b3;
    border-left: 1px solid #b3b3b3;
}

.mypage #left_side .cont03 .clearfix {
    margin-bottom: 5px;
    padding: 5px;
    border: 1px solid #cbcbcb;
    border-radius: 3px;
}

.mypage #left_side .cont03 .clearfix .img {
    position: relative;
    float: left;
    width: 70px;
    height: 93px;
    text-align: center;
}

.mypage #left_side .cont03 .clearfix .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.mypage #left_side .cont03 .clearfix .text {
    float: right;
    width: 120px;
}

.mypage #left_side .cont03 .clearfix .text .time {
    font-size: 12px;
}

.mypage #left_side .cont03 .clearfix .text h3 {
    display: block;
    width: 115px;
    font-size: 13px;
    line-height: 1.2;
    color: #005fc0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage #left_side .cont03 .clearfix .text .name {
    line-height: 1.4;
}

.mypage #left_side .cont03 .clearfix .text .name a {
    display: block;
    width: 115px;
    font-weight: bold;
    color: #ec407a;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage #left_side .cont03 .clearfix .text .store {
    line-height: 1.2;
}

.mypage #left_side .cont03 .clearfix .text .store a {
    display: block;
    width: 115px;
    font-size: 12px;
    font-weight: bold;
    color: #222;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage #left_side .cont03 .clearfix .text .place {
    width: 115px;
    font-size: 12px;
    color: #222;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage #left_side .cont03 .button {
    width: 200px;
    margin: 10px auto 5px;
}

.mypage #left_side .cont03 .button a {
    position: relative;
    display: block;
    font-size: 10px;
    font-weight: bold;
    color: #222;
    padding: 8px 0 8px 30px;
    background: url(../images/mypage/left_button02-6b97c22ceb7626aa26c399994890aeb6.png) no-repeat;
}

.mypage #left_side .cont03 .button a::before {
    position: absolute;
    top: 10px;
    left: 15px;
    content: url(../images/mypage/left_icon06-b59e2343a5e4921f0209d05e4c805c52.png);
}

.mypage #left_side .cont03 .button a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.mypage #left_side .cont04 h2 {
    position: relative;
    font-size: 15px;
    color: #fff;
    text-align: center;
    padding: 2px 0 2px 20px;
    background: linear-gradient(#4b4b4b, #070505);
    border: 1px solid #000;
}

.mypage #left_side .cont04 h2::before {
    position: absolute;
    top: 5px;
    left: 43px;
    display: block;
    content: url(../images/mypage/left_icon03-29d6d9257c252d382cd50bbfbdf9072e.png);
}

.mypage #left_side .cont04 .border {
    margin-bottom: 10px;
    padding: 3px;
    border-top: 3px solid #d4d2d3;
    border-right: 1px solid #b3b3b3;
    border-bottom: 1px solid #b3b3b3;
    border-left: 1px solid #b3b3b3;
}

.mypage #left_side .cont04 .box {
    margin-bottom: 5px;
    padding: 5px;
    border: 1px solid #cbcbcb;
    border-radius: 3px;
}

.mypage #left_side .cont04 .box .img {
    position: relative;
    width: 202px;
    height: 113px;
    text-align: center;
    background-color: #000;
}

.mypage #left_side .cont04 .box .img a::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 50px;
    margin: auto;
    content: url(../images/common/movie_icon-af0433c37b8d373b7229066189a6542e.png);
}

.mypage #left_side .cont04 .box .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.mypage #left_side .cont04 .box .img .time {
    position: absolute;
    right: 5px;
    bottom: 5px;
    line-height: 1;
    color: #fff;
    text-shadow: 0 0 2px #111;
}

.mypage #left_side .cont04 .box .text .date {
    font-size: 13px;
    padding-top: 2px;
}

.mypage #left_side .cont04 .box .text h3 {
    font-size: 14px;
    line-height: 1.2;
    padding: 5px 0 0;
}

.mypage #left_side .cont04 .box .text h3 a {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage #left_side .cont04 .box .text .name a {
    display: block;
    width: 200px;
    font-weight: bold;
    color: #ec407a;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage #left_side .cont04 .box .text .store {
    line-height: 1.2;
}

.mypage #left_side .cont04 .box .text .store a {
    display: block;
    width: 200px;
    font-size: 12px;
    font-weight: bold;
    color: #222;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage #left_side .cont04 .box .text .place {
    font-size: 12px;
    color: #222;
}

.mypage #left_side .cont04 .box .text .cate {
    display: inline-block;
    font-size: 12px;
    line-height: 1;
    color: #f44336;
    padding: 1px 2px;
    border: 1px solid #f44336;
}

.mypage #left_side .cont04 .button {
    width: 200px;
    margin: 10px auto 5px;
}

.mypage #left_side .cont04 .button a {
    position: relative;
    display: block;
    font-size: 10px;
    font-weight: bold;
    color: #222;
    padding: 8px 0 8px 40px;
    background: url(../images/mypage/left_button02-6b97c22ceb7626aa26c399994890aeb6.png) no-repeat;
}

.mypage #left_side .cont04 .button a::before {
    position: absolute;
    top: 10px;
    left: 25px;
    content: url(../images/mypage/left_icon06-b59e2343a5e4921f0209d05e4c805c52.png);
}

.mypage #left_side .cont04 .button a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.mypage #left_side .button01 {
    margin-bottom: 10px;
}

.mypage #left_side .button01 a, .mypage #left_side .button02 a {
    position: relative;
    display: block;
    height: 48px;
    line-height: 1.2;
    padding: 12px 0 0 65px;
    background: url(../images/mypage/left_icon07-16048036c8561920e0667ef178ec7334.png) 200px 23px no-repeat;
    border: 1px solid #ccc;
    border-radius: 3px;
}

.mypage #left_side .button01 a::before {
    position: absolute;
    top: 5px;
    left: 5px;
    content: url(../images/mypage/left_icon04.png);
}

.mypage #left_side .button02 a::before {
    position: absolute;
    top: 5px;
    left: 5px;
    content: url(../images/mypage/left_icon05-d6db5c055f9bd1920488c1f923194111.png);
}

.mypage #left_side .button01 a:hover, .mypage #left_side .button02 a:hover {
    opacity: 0.8;
    text-decoration: none;
}

/*  right_side
--------------------------------------------------------------*/
.mypage #right_side .cont01 {
    margin-bottom: 10px;
    border: 2px solid #f44336;
    border-radius: 3px;
}

.mypage #right_side .cont01 h2 {
    font-size: 15px;
    line-height: 1.2;
    padding: 5px 0 5px 45px;
    background: #fdecf1 url(../images/mypage/right_icon01-7fec13d48748c3437892b72eef902b6e.png) 7px 7px no-repeat;
    border-bottom: 1px solid #fcc6c2;
}

.mypage #right_side .cont01 h2 span {
    font-size: 12px;
}

.mypage #right_side .cont01 h3 a {
    display: block;
    width: 180px;
    color: #005fc0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage #right_side .cont01 .icon02 {
    display: inline-block;
    font-size: 12px;
    line-height: 1;
    color: #fff;
    margin-left: 8px;
    padding: 2px 5px;
    background-color: #ec407a;
    border-bottom: 1px solid #d1255f;
    border-radius: 2px;
}

.mypage #right_side .cont01 .bnr {
    padding: 10px 8px 10px;
    border-bottom: 1px solid #ccc;
}

.mypage #right_side .cont01 a.discount_link {
    text-decoration: none;
}

.mypage #right_side .cont01 div.discount_value p {
    font-size: 22px;
    font-weight: bold;
    line-height: 22px;
    color: #f52011;
    text-align: center;
    padding-top: 11px;
}

.mypage #right_side .cont01 div.discount_value p span.common_fee {
    font-size: 11px;
    font-weight: normal;
    color: #000;
}

.mypage #right_side .cont01 div.discount_value p span.common_fee span {
    font-size: 11px;
    font-weight: normal;
    text-decoration: line-through;
}

.mypage #right_side .cont01 div.discount_value p span {
    font-size: 13px;
}

.mypage #right_side .cont01 div.discount_value.discount_default p {
    font-size: 15px;
    font-weight: bold;
    padding-top: 17px;
}

.mypage #right_side .cont01 .more {
    font-size: 13px;
    text-align: right;
    padding: 10px;
    background: url(../images/mypage/right_icon07-8ee1d2311a39b6b0bb03452294b00c35.png) 110px 16px no-repeat;
}

.mypage #right_side .cont02 {
    margin-bottom: 10px;
    border: 2px solid #62a6e6;
    border-radius: 3px;
}

.mypage #right_side .cont02 h2 {
    font-size: 15px;
    line-height: 1.2;
    padding: 5px 0 5px 45px;
    background: #eaf3fe url(../images/mypage/right_icon02-ae2e5e3192b8d2375c3b62222d6f4e77.png) 7px 7px no-repeat;
    border-bottom: 1px solid #c9e1f4;
}

.mypage #right_side .cont02 h2 span {
    font-size: 12px;
}

.mypage #right_side .cont02 h3 {
    font-size: 14px;
    color: #005fc0;
    padding: 0 8px;
}

.mypage #right_side .cont02 .date {
    font-size: 12px;
    padding: 5px 8px 0;
}

.mypage #right_side .date span {
    font-size: 10px;
    line-height: 1;
    color: #fff;
    padding: 0 5px;
    border-width: 1px;
    border-style: solid;
}

.mypage #right_side .cat1 {
    letter-spacing: -1px;
}

.mypage #right_side .cont02 .cate {
    font-size: 11px;
    padding: 0 8px;
}

.mypage #right_side .cont02 .store a {
    display: block;
    width: 180px;
    font-size: 12px;
    font-weight: bold;
    color: #333;
    padding: 0 8px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage #right_side .cont02 .place {
    display: block;
    width: 180px;
    font-size: 12px;
    margin-bottom: 2px;
    padding: 0 8px 7px;
    border-bottom: 1px solid #ccc;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage #right_side .cont02 .more {
    font-size: 13px;
    text-align: right;
    padding: 10px;
    background: url(../images/mypage/right_icon07-8ee1d2311a39b6b0bb03452294b00c35.png) 110px 16px no-repeat;
}

.mypage #right_side .cont03 {
    margin-bottom: 10px;
    border: 2px solid #62a6e6;
    border-radius: 3px;
}

.mypage #right_side .cont03 h2 {
    font-size: 15px;
    line-height: 1.2;
    padding: 5px 0 5px 45px;
    background: #eaf3fe url(../images/mypage/right_icon03-b0275f931f00f33472e944dca697ade4.png) 7px 7px no-repeat;
    border-bottom: 1px solid #c9e1f4;
}

.mypage #right_side .cont03 h2 span {
    font-size: 12px;
}

.mypage #right_side .cont03 h3 {
    font-size: 14px;
    padding: 10px 8px 0;
}

.mypage #right_side .cont03 h3 a {
    display: block;
    width: 180px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage #right_side .cont03 .cate {
    display: block;
    width: 180px;
    font-size: 11px;
    padding: 0 8px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage #right_side .cont03 .number {
    color: #ec407a;
    padding: 0 8px;
}

.mypage #right_side .cont03 .number span {
    font-size: 12px;
    color: #fff;
    padding: 0 5px;
    background-color: #ec407a;
    border-radius: 2px;
}

.mypage #right_side .cont03 .clearfix {
    padding-left: 8px;
}

.mypage #right_side .cont03 .clearfix li {
    position: relative;
    width: 54px;
    height: 73px;
    text-align: center;
    margin: 0 5px 0 0;
    border: 1px solid #f4e3e5;
}

.mypage #right_side .cont03 .clearfix li img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.mypage #right_side .cont03 .button {
    margin: 5px 8px;
    padding-bottom: 10px;
    border-bottom: 1px solid #ccc;
}

.mypage #right_side .cont03 .button a {
    display: block;
    font-size: 10px;
    font-weight: bold;
    color: #333;
    padding: 6px 0 10px 22px;
    background: url(../images/mypage/right_button01-e8fc600f4a18e22b9ffcdad1d3175975.png) no-repeat;
}

.mypage #right_side .cont03 .button a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.mypage #right_side .cont03 .more {
    font-size: 13px;
    text-align: right;
    padding: 10px;
    background: url(../images/mypage/right_icon07-8ee1d2311a39b6b0bb03452294b00c35.png) 110px 16px no-repeat;
}

.mypage #right_side .cont04 {
    margin-bottom: 10px;
    border: 2px solid #62a6e6;
    border-radius: 3px;
}

.mypage #right_side .cont04 h2 {
    font-size: 15px;
    line-height: 1.2;
    padding: 5px 0 5px 45px;
    background: #eaf3fe url(../images/mypage/right_icon04-a46b362ec436cb6338301a5d611e606d.png) 7px 7px no-repeat;
    border-bottom: 1px solid #c9e1f4;
}

.mypage #right_side .cont04 h2 span {
    font-size: 12px;
}

.mypage #right_side .cont04 .event-box {
    border-bottom: 1px solid #ccc;
}

.mypage #right_side .cont04 h3 {
    font-size: 14px;
    color: #005fc0;
    padding: 0 8px;
}

.mypage #right_side .cont04 .date {
    font-size: 12px;
    color: #cd8f4e;
    padding: 5px 8px 0;
}

.mypage #right_side .cont04 .date span {
    font-size: 10px;
    line-height: 1;
    color: #fff;
    padding: 0 5px;
    background-color: #29b6f6;
    border: 1px solid #0e9ada;
}

.mypage #right_side .cont04 .cate {
    font-size: 11px;
    padding: 0 8px;
}

.mypage #right_side .cont04 .store-box {
    width: 100%;
    overflow: hidden;
}

.mypage #right_side .cont04 .store {
    display: -webkit-box;
    width: 180px;
    font-size: 12px;
    font-weight: bold;
    color: #333;
    padding: 0 8px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.mypage #right_side .cont04 .event-detail {
    margin-left: 8px;
}

.mypage #right_side .cont04 .shopName {
    font-size: 12px;
    padding-left: 14px;
    background: url(../images/mypage/icon_tenpo-f877633c1bb15c645eeffbf32622893b.png) no-repeat left center;
    -webkit-background-size: 12px;
    background-size: 12px;
}

.mypage #right_side .cont04 .icon_dx {
    font-size: 8px;
    font-weight: bold;
    line-height: 1em;
    color: #fff;
    margin: 0 2px;
    padding: 1px 4px;
    background-color: #ff9f38;
    border-radius: 2px;
    vertical-align: middle;
}

.mypage #right_side .cont04 .shopType {
    display: inline-block;
    font-size: 10px;
    font-weight: normal;
    color: #667284;
}

.mypage #right_side .cont04 .place {
    width: 180px;
    font-size: 12px;
    margin-bottom: 2px;
    padding: 0 8px 7px;
    border-bottom: 1px solid #ccc;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage #right_side .cont04 .more {
    font-size: 13px;
    text-align: right;
    padding: 10px;
    background: url(../images/mypage/right_icon07-8ee1d2311a39b6b0bb03452294b00c35.png) 110px 16px no-repeat;
}

.mypage #right_side .cont05 {
    margin-bottom: 10px;
    border: 2px solid #62a6e6;
    border-radius: 3px;
}

.mypage #right_side .cont05 h2 {
    font-size: 15px;
    line-height: 1.2;
    padding: 5px 0 5px 45px;
    background: #eaf3fe url(../images/mypage/right_icon05-a4d6cb79de3847eb8439dbbd6d74e909.png) 7px 7px no-repeat;
    border-bottom: 1px solid #c9e1f4;
}

.mypage #right_side .cont05 h2 span {
    font-size: 12px;
}

.mypage #right_side .cont05 .clearfix {
    border-bottom: 1px solid #ccc;
}

.mypage #right_side .cont05 .img {
    position: relative;
    float: left;
    width: 65px;
    height: 87px;
    text-align: center;
    margin: 15px 10px 10px 10px;
}

.mypage #right_side .cont05 .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.mypage #right_side .cont05 .text {
    float: left;
    width: 105px;
}

.mypage #right_side .cont05 .date2 {
    font-size: 12px;
    color: green;
    padding-top: 5px;
}

.mypage #right_side .cont05 h3 {
    display: block;
    width: 105px;
    font-size: 14px;
    line-height: 1.4;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage #right_side .cont05 .store a {
    display: block;
    width: 100px;
    font-size: 12px;
    font-weight: bold;
    color: #333;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage #right_side .cont05 .place {
    width: 100px;
    font-size: 12px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage #right_side .cont05 .more {
    font-size: 13px;
    text-align: right;
    padding: 10px;
    background: url(../images/mypage/right_icon07-8ee1d2311a39b6b0bb03452294b00c35.png) 110px 16px no-repeat;
}

.mypage #right_side .cont06 {
    margin-bottom: 10px;
    border: 2px solid #62a6e6;
    border-radius: 3px;
}

.mypage #right_side .cont06 h2 {
    font-size: 15px;
    line-height: 1.2;
    padding: 5px 0 5px 45px;
    background: #eaf3fe url(../images/mypage/right_icon06-e0e6319156a130dcd21758c2b970d697.png) 7px 7px no-repeat;
    border-bottom: 1px solid #c9e1f4;
}

.mypage #right_side .cont06 h2 span {
    font-size: 12px;
}

.mypage #right_side .cont06 h3 {
    font-size: 14px;
    color: #005fc0;
    padding: 0 8px;
}

.mypage #right_side .cont06 .date {
    font-size: 12px;
    padding: 5px 8px 0;
}

.mypage #right_side .cont06 .date span {
    font-size: 10px;
    line-height: 1;
    color: #fff;
    padding: 0 5px;
    background-color: #29b6f6;
    border: 1px solid #0e9ada;
}

.mypage #right_side .cont06 .cate {
    font-size: 11px;
    padding: 0 8px;
}

.mypage #right_side .cont06 .store a {
    display: block;
    width: 180px;
    font-size: 12px;
    font-weight: bold;
    color: #333;
    padding: 0 8px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage #right_side .cont06 .place {
    width: 180px;
    font-size: 12px;
    margin-bottom: 2px;
    padding: 0 8px 7px;
    border-bottom: 1px solid #ccc;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage #right_side .cont06 .more {
    font-size: 13px;
    text-align: right;
    padding: 10px;
    background: url(../images/mypage/right_icon07-8ee1d2311a39b6b0bb03452294b00c35.png) 110px 16px no-repeat;
}

/*  mypage_top
--------------------------------------------------------------*/
.mypage_top .cont01 li {
    padding-bottom: 5px;
}

.mypage_top .cont02 h2 {
    position: relative;
    height: 46px;
    padding: 12px 0 0 50px;
    background: url(../images/mypage/main_bg01-6e821ab6b40915997298d393fa444cb5.png);
}

.mypage_top .cont02 h2::before {
    position: absolute;
    top: 15px;
    left: 20px;
    content: url(../images/mypage/main_icon01-bf64e737624cb8935c62bc1cb9c2fa6a.png);
}

.mypage_top .cont02:nth-of-type(2) h2::before {
    content: url(../images/mypage/main_icon02-d191d566428aa811090f8224b150f59b.png);
}

.mypage_top .cont02 h2 a {
    position: absolute;
    top: 8px;
    right: 10px;
    display: block;
}

.mypage_top .cont02 ul {
    margin-bottom: 20px;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
}

.mypage_top .cont02 li {
    float: left;
    width: 136px;
    padding: 4px;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

.mypage_top .cont02 ul li:nth-of-type(4n) {
    padding: 4px 3px 4px 4px;
}

.mypage_top .cont02 .img {
    position: relative;
    width: 135px;
    height: 180px;
    text-align: center;
}

.mypage_top .cont02 .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.mypage_top .cont02 h3 {
    font-size: 14px;
    color: #005fc0;
    padding: 5px 0 0;
}

.mypage_top .cont02 h3 a {
    display: block;
    width: 130px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage_top .cont02 .store {
    font-size: 12px;
    line-height: 1.4;
}

.mypage_top .cont02 .store a {
    display: inline-block;
    max-width: 130px;
    font-size: 13px;
    font-weight: bold;
    color: #222;
    overflow: hidden;
    vertical-align: middle;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage_top .cont02 .place {
    max-width: 130px;
    font-size: 12px;
    line-height: 1.4;
    padding-bottom: 2px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mypage_top .cont03 {
    margin-bottom: 20px;
}

.mypage_top .cont03 h2 {
    font-size: 22px;
    padding: 5px 0 5px 30px;
    background: url(../images/mypage/main_icon03-10511f6de24633acb5b31f07d35516f3.png) 0 10px no-repeat;
    border-bottom: 3px solid #f44336;
}

.mypage_top .cont03 .bg {
    padding: 20px;
    background-color: #f8f6f4;
}

.mypage_top .cont03 p {
    overflow: hidden;
}

.mypage_top .cont03 p input {
    float: left;
    height: 34px;
    box-sizing: border-box;
    vertical-align: middle;
}

.mypage_top .cont03 p input[type='search'] {
    width: 456px;
    height: 35px;
    font-family: YuGothic, '游ゴシック', sans-serif;
    font-size: 13px;
    padding: 7px 10px 8px 10px;
    padding: 0 8px 0 5px;
    border: 1px solid #cbcbcb;
    border-radius: 0;
    box-sizing: border-box;
    vertical-align: top;
}

.mypage_top .cont03 .clearfix {
    margin-bottom: 10px;
}

.mypage_top .cont03 .clearfix li {
    width: 130px;
    text-align: center;
    margin: 10px 6px 0 0;
}

.mypage_top .cont03 .clearfix li:last-of-type {
    margin: 10px 0 0 0;
}

.mypage_top .cont03 .clearfix li a {
    display: block;
    line-height: 1;
    padding: 10px 0;
    border: 2px solid #bad0e7;
    border-radius: 30px;
}

.mypage_top .cont03 .clearfix li a:hover {
    background-color: #bad0e7;
    text-decoration: none;
}

.mypage_top .cont04 h2 {
    position: relative;
    font-size: 22px;
    margin-bottom: 10px;
    padding: 5px 0 5px 30px;
    background: url(../images/mypage/main_icon04-a285c0bf9443fabb04cd405198c50a2e.png) 0 10px no-repeat;
    border-bottom: 3px solid #f44336;
}

.mypage_top .cont04 h2 .name {
    position: absolute;
    top: 17px;
    right: 0;
    font-size: 14px;
}

.mypage_top .cont04 h2 .red {
    color: #f44336;
}

.mypage_top .cont04 .red_box {
    background-color: #f44336;
}

.mypage_top .cont04 .pink_box {
    background-color: #f4437a;
}

.mypage_top .cont04 .orange_box {
    background-color: #fa8c36;
}

.mypage_top .cont04 h3 {
    position: relative;
    font-size: 20px;
    line-height: 1.3;
    color: #fff;
    padding-bottom: 15px;
    padding-left: 30px;
}

.mypage_top .cont04 .red_box h3 {
    background: url(../images/mypage/main_icon05-4203ee44f0903140219537de86a051ea.png) no-repeat;
}

.mypage_top .cont04 .pink_box h3 {
    background: url(../images/mypage/main_icon06-ba584352d88bb51905ae454105fd2587.png) no-repeat;
}

.mypage_top .cont04 .orange_box h3 {
    background: url(../images/mypage/main_icon07-585fe92b4af1afd143bd39bb2ba2f2e7.png) no-repeat;
}

.mypage_top #main_cont .cont04 h3 a {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    font-size: 12px;
    line-height: 1;
    color: #444;
    padding: 7px 10px 7px 30px;
    border-radius: 20px;
}

.mypage_top .cont04 .red_box h3 a {
    background: #fff url(../images/mypage/main_icon08-953b6e49afd073834844c993882bb34a.png) 15px 7px no-repeat;
}

.mypage_top .cont04 .pink_box h3 a {
    background: #fff url(../images/mypage/main_icon09-07c6a74e389a2d71340116ea01341d86.png) 15px 7px no-repeat;
}

.mypage_top .cont04 .orange_box h3 a {
    background: #fff url(../images/mypage/main_icon10-da25f7314758f8814156b228c77dd186.png) 15px 7px no-repeat;
}

.mypage_top .cont04 h3 a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.mypage_top .cont04 > div {
    margin-bottom: 20px;
    padding: 15px 13px 13px 15px;
}

.mypage_top .cont04 li {
    position: relative;
    width: 90px;
    height: 120px;
    text-align: center;
    margin: 0 2px 2px 0;
    background-color: rgba(255, 255, 255, 0.3);
}

.mypage_top .cont04 li img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

/*  mail
--------------------------------------------------------------*/
.mail #main_cont h2 {
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    padding: 10px 15px;
    background-color: #4762b5;
}

.mail #main_cont .bg {
    margin-bottom: 30px;
    padding: 20px;
    background-color: #f8f6f4;
}

.mail #main_cont table {
    background-color: #fff;
    border: 1px solid #c2dcf2;
}

.mail #main_cont th {
    width: 330px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
    padding: 10px 15px;
    border: 1px solid #c2dcf2;
    border-left: 3px solid #4b69c5;
    vertical-align: middle;
}

.mail #main_cont th span {
    font-size: 14px;
    font-weight: normal;
}

.mail #main_cont td {
    padding: 10px 0 10px 47px;
    border: 1px solid #c2dcf2;
}

.mail #main_cont .button a {
    display: inline-block;
    font-size: 12px;
    font-weight: bold;
    color: #333;
    margin: 5px 0;
    padding: 5px 10px 5px 23px;
    background: url(../images/mypage/setting_icon01-5aba301fd46c2ad1cd6c861a1cf8c553.png) 9px 9px no-repeat;
    border: 1px solid #c2c4c8;
    border-radius: 3px;
    box-shadow: 1px 1px 1px #ccc;
}

.mail #main_cont .button a:hover {
    background: #eee url(../images/mypage/setting_icon01-5aba301fd46c2ad1cd6c861a1cf8c553.png) 9px 9px no-repeat;
    text-decoration: none;
}

/*  login
--------------------------------------------------------------*/
.login h2 {
    font-size: 24px;
    line-height: 1;
    margin: 10px 0 0;
    padding: 10px 15px;
    background-color: #feeceb;
    border-bottom: 3px solid #f44336;
}

.login .bg {
    padding: 20px 0;
    background-color: #f8f6f4;
}

.login .border {
    width: 80%;
    max-width: 600px;
    margin: 0 auto;
    padding: 25px 40px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
}

.login h3 {
    font-size: 16px;
    margin-top: 15px;
}

.login input[type='text'], .login input[type='password'] {
    width: 100%;
    margin-bottom: 5px;
    padding: 10px;
    border: 1px solid #ccc;
    box-sizing: border-box;
}

.login .check {
    font-size: 14px;
}

.login .button01 {
    padding-left: 15px;
    background: url(../images/mypage/login_icon01-9c997a321ad5c5c5eaaf5cd626b6de89.png) 0 4px no-repeat;
}

.login .button02 .btn, .login .button02 a {
    display: block;
    width: 100%;
    max-width: 375px;
    height: 42px;
    font-size: 18px;
    font-weight: bold;
    color: #333;
    text-align: center;
    margin: 10px auto;
    background: linear-gradient(to bottom, #fff 0%, #f3f3f3 47%, #e0e0e0 100%);
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 0 3px 0 0 #e6e4e5, inset 1px 1px 0 0 #fff;
}

.login .button02:hover {
    opacity: 0.8;
    text-decoration: none;
}

.login .button02 .btn {
    padding: 0;
    cursor: pointer;
    outline: none;
    -webkit-appearance: none;
}

.login .button03 a {
    display: block;
    width: 100%;
    max-width: 375px;
    height: 42px;
    font-size: 18px;
    font-weight: bold;
    line-height: 45px;
    color: #fff;
    text-align: center;
    margin: 10px auto;
    background: #ffa408;
    background: linear-gradient(to bottom, #ffa408 0%, #ff8e08 47%, #ff7a08 100%);
    border: 1px solid #ec9b4c;
    border-radius: 4px;
    box-shadow: 0 3px 0 0 #da6c0e, inset 1px 1px 0 0 #ffdcac;
    text-shadow: 2px 0 1px #df7207;
}

.login .button03 a:hover {
    opacity: 0.8;
    text-decoration: none;
}

/* モーダルウィンドウ用 */
.login.mdl h2 {
    margin-top: 0;
}

.login.mdl .btn_close {
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
}

.mdl_box.login {
    width: 600px;
    height: 480px;
    padding: 0;
    background-color: transparent;
    box-shadow: none;
}

.login.mdl .bg {
    margin: 14px;
    padding: 20px 20px 10px;
}

.login.mdl .border {
    width: 100%;
    max-width: 100%;
}

/* --------------------------------------- */
/* about */
/* --------------------------------------- */
.about {
    margin-bottom: 50px;
}

.about .hl_sub {
    position: relative;
    font-size: 24px;
    line-height: 1;
    margin: 30px 0 15px;
    padding: 10px 15px;
    background-color: #fcebf0;
    border-left: 3px solid #f44336;
}

.about .hl_sub::after {
    position: absolute;
    top: -12px;
    right: 20px;
}

.about .hl_sub.item::after {
    content: url(../images/mypage/about_img01-7444166089054ae17afa5ce6950fbcd7.png);
}

.about .hl_sub.shop::after {
    content: url(../images/mypage/about_img02-593134f76c3e06349336e28b1418393d.png);
}

.about .hl_sub.msg::after {
    content: url(../images/mypage/about_img03-d3c2d68693c42caf367ba5d7f761b91d.png);
}

.about .hl_sub.vipmail::after {
    content: url(../images/mypage/about_img04-c7d7eca9e0d5f0a40b6c90e9df85369f.png);
}

.about .button {
    padding-left: 15px;
    background: url(../images/mypage/login_icon01-9c997a321ad5c5c5eaaf5cd626b6de89.png) 0 5px no-repeat;
}

/*  magazine
--------------------------------------------------------------*/
.magazine #main_cont h2 {
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    padding: 10px 15px;
    background-color: #4762b5;
}

.magazine #main_cont h3 {
    font-size: 16px;
}

.magazine #main_cont .bg {
    padding: 20px;
    background-color: #f8f6f4;
}

.magazine #main_cont .border {
    margin: 0 auto;
    padding: 20px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.magazine #main_cont input.mail, .magazine #main_cont input.pass {
    width: 478px;
    margin-bottom: 5px;
    padding: 10px;
    border: 1px solid #ccc;
}

.magazine #main_cont .check {
    color: #f44336;
}

.magazine #main_cont .check span {
    display: inline-block;
    margin: 2px 0;
    padding: 3px 5px;
    border: 1px solid #ccc;
    border-radius: 3px;
}

.magazine #main_cont .button a {
    display: block;
    width: 370px;
    height: 42px;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    margin: 20px auto 0;
    padding: 5px 0 0;
    background: url(../images/mypage/login_button02-b5064034346c365031600d73cc694256.png) no-repeat;
    text-shadow: 2px 0 1px #df7207;
}

.magazine #main_cont .button a:hover {
    opacity: 0.8;
    text-decoration: none;
}

/*  thanks
--------------------------------------------------------------*/
.thanks #main_cont h2 {
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    padding: 10px 15px;
    background-color: #4762b5;
}

.thanks #main_cont .bg {
    padding: 20px;
    background-color: #f8f6f4;
}

.thanks #main_cont .border {
    font-size: 16px;
    margin: 0 auto;
    padding: 20px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.thanks #main_cont .border .check {
    font-size: 14px;
    padding-top: 5px;
}

.thanks #main_cont .border p span {
    font-weight: bold;
}

/*  contact
--------------------------------------------------------------*/
.contact .cont01 h2 {
    font-size: 24px;
    line-height: 1;
    margin: 10px 0 0;
    padding: 10px 15px;
    background-color: #feeceb;
    border-bottom: 3px solid #f44336;
}

.contact .cont01 .bg {
    padding: 20px;
    background-color: #f8f6f4;
}

.contact .cont01 .border {
    font-size: 16px;
    margin: 0 auto;
    padding: 20px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.contact .cont01 .button a {
    display: block;
    width: 370px;
    height: 42px;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    margin: 20px auto 0;
    padding: 5px 0 0;
    background: url(../images/mypage/login_button02-b5064034346c365031600d73cc694256.png) no-repeat;
    text-shadow: 2px 0 1px #df7207;
}

.contact .cont01 .button a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.contact .form_tbl {
    margin-top: 20px;
    border: 1px solid #c2dcf2;
}

.contact .form_tbl th {
    position: relative;
    width: 230px;
    font-size: 16px;
    text-align: left;
    padding: 20px 10px 20px 40px;
    background-repeat: no-repeat;
    background-position: 10px center;
    border: 1px solid #c2dcf2;
    border-left: 3px solid #4b69c5;
    vertical-align: middle;
}

.contact .form_tbl .name {
    background-image: url(../images/contact/contact_icon01-940e1c7143ccaa9216126834a666c241.png);
}

.contact .form_tbl .mail {
    background-image: url(../images/contact/contact_icon02-646eb3a9f52a765a773fc7d26196cf02.png);
}

.contact .form_tbl .tel {
    background-image: url(../images/contact/contact_icon03-bef5ba59d2c620a54227affc6a05586b.png);
}

.contact .form_tbl .fax {
    background-image: url(../images/contact/contact_icon04-d2c11ba36418a86572854c56b97cd5e2.png);
}

.contact .form_tbl .inquiry {
    background-image: url(../images/contact/contact_icon05-c69fe58e7b2b2b0548ea694ea443785c.png);
}

.contact .form_tbl td {
    font-size: 12px;
    padding: 20px 10px;
    border: 1px solid #c2dcf2;
}

.contact .form_tbl .input01 {
    width: 330px;
    padding: 5px;
}

.contact .form_tbl.select {
    border-radius: 5px;
}

.contact .form_tbl textarea {
    width: 700px;
    height: 150px;
    padding: 5px;
}

#pages .contact .page-h3-area3 {
    margin-top: 30px;
}

#pages .contact .page-search .right-area {
    width: 930px;
}

.box_btn .btn {
    display: block;
    width: 300px;
    height: 50px;
    font-size: 18px;
    font-weight: bold;
    line-height: 50px;
    color: #333;
    text-align: center;
    margin: 10px auto 3px;
    background-color: #d6d6d6;
    background-image: none;
    border: none;
    border-radius: 6px;
    box-sizing: border-box;
    cursor: pointer;
    vertical-align: middle;
    text-decoration: none;
    outline: 0;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6);
    -webkit-appearance: none;
}

.box_btn .btn:not(:active) {
    box-shadow: 0 3px 0 #a0a0a0, 0 1px 0 rgba(255, 255, 255, 0.6) inset;
}

.box_btn .btn_ok {
    color: #fff;
    background-color: #f7931e;
    text-shadow: 0 1px 0 rgba(170, 97, 17, 0.6);
}

.box_btn .btn_ok:not(:active) {
    box-shadow: 0 3px 0 #a54838, 0 1px 0 rgba(255, 255, 255, 0.6) inset;
}

.box_btn .btn:active {
    transform: translateY(3px);
}

/*  contact thanks
--------------------------------------------------------------*/
.contact .cont02 h2 {
    font-size: 24px;
    line-height: 1;
    margin: 10px 0 0;
    padding: 10px 15px;
    background-color: #feeceb;
    border-bottom: 3px solid #f44336;
}

.contact .cont02 .bg {
    padding: 20px;
    background-color: #f8f6f4;
}

.contact .cont02 .border {
    font-size: 16px;
    text-align: center;
    margin: 0 auto;
    padding: 20px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.contact .cont02 h3 {
    padding-bottom: 10px;
}

/* --------------------------------------- */
/* 違反動画の通報 */
/* --------------------------------------- */
.contact .form_tbl.report_video {
    margin-top: 0;
}

.contact .form_tbl.report_video th {
    width: 200px;
    padding: 20px;
}

.contact .form_tbl.report_video td {
    font-size: 15px;
    padding: 20px;
}

.contact .form_tbl.report_video .checkbox {
    display: block;
    max-width: fit-content;
    margin-bottom: 15px;
}

.contact .form_tbl.report_video .txa {
    width: 600px;
    min-height: 6em;
    resize: none;
}

/* --------------------------------------- */
/* 横並びボタン */
.box_btn.fl_base .fl_inner:first-child {
    padding-right: 10px;
}

.box_btn.fl_base .fl_inner:last-child {
    padding-left: 10px;
}

.box_btn.fl_base {
    justify-content: center;
}

/*  event
--------------------------------------------------------------*/
.event_bg {
    background: #a60202 url(../images/event/event_bg01.png) center top no-repeat;
}

.event_bg h2 {
    text-align: center;
    padding: 50px 0 30px;
}

.event .cont01 {
    padding: 30px;
    border: 4px solid #ccc;
    border-radius: 5px;
}

.event .cont01 p {
    font-size: 18px;
}

.event .cont01 span {
    font-weight: bold;
    color: #f44336;
}

.event .cont02 h3 {
    font-size: 22px;
    padding: 20px 0 0;
    border-bottom: 2px solid #ccc;
}

.event .cont02 h3:nth-of-type(1) {
    color: #f00;
}

.event .cont02 h3:nth-of-type(2) {
    color: #0cf;
}

.event .cont02 h3:nth-of-type(3) {
    color: #3a726d;
}

.event .cont02 h3:nth-of-type(4) {
    color: #303030;
}

.event .cont02 h3:nth-of-type(5) {
    color: #ff2fff;
}

.event .cont02 h3:nth-of-type(6) {
    color: #212181;
}

.event .cont02 h3:nth-of-type(7) {
    color: #303030;
}

.event .cont02 .bg {
    padding: 20px 20px 10px;
    background-color: #f8f6f4;
}

.event .cont02 .border {
    margin: 0 auto 30px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.event .cont02 h4 {
    padding: 10px;
    background: linear-gradient(#666, #343434);
    border-bottom: 2px solid #ccc;
    border-radius: 5px 5px 0 0;
}

.event .cont02 h4 a {
    color: #fff;
}

.event .cont02 .border .clearfix {
    padding: 20px;
}

.event .cont02 h5 {
    font-size: 20px;
    color: #025fc2;
}

.event .cont02 .number::before {
    font-size: 8px;
    padding-right: 3px;
    content: '●';
    vertical-align: middle;
}

.event .cont02 .number + ul {
    margin-left: 40px;
    list-style-type: disc;
}

.event .cont02 .left {
    float: left;
    width: 510px;
}

.event .cont02 .right {
    float: left;
    width: 438px;
    border: 1px dotted #ccc;
}

.event .cont02 .button01 a {
    display: block;
    width: 370px;
    height: 42px;
    font-size: 18px;
    font-weight: bold;
    color: #333;
    text-align: center;
    margin: 45px auto 40px;
    padding: 5px 0 0;
    background: url(../images/mypage/login_button01-a4b3804b8960ae14822bddf3cb64ec01.png) no-repeat;
}

.event .cont02 .button01 a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.event .cont02 .button02 label {
    position: relative;
    display: block;
    width: 370px;
    height: 42px;
    font-size: 18px;
    font-weight: bold;
    color: #333;
    text-align: center;
    margin: 0 auto;
    padding: 5px 0 0;
    background: url(../images/mypage/login_button01-a4b3804b8960ae14822bddf3cb64ec01.png) no-repeat;
}

.event .cont02 .button02 label::before {
    position: absolute;
    top: 6px;
    left: 120px;
    content: url(../images/event/event_icon01.png);
}

.event .cont02 .button02 label:hover {
    opacity: 0.8;
    text-decoration: none;
}

.event .cont02 input[type='checkbox'].on-off {
    display: none;
}

.event .cont02 input[type='checkbox'].on-off + .panel-box {
    height: 0;
    overflow: hidden;
}

.event .cont02 .panel-box {
    -webkit-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}

.event .cont02 input[type='checkbox'].on-off:checked + .panel-box {
    height: 750px;
    margin-top: 20px;
}

#pages .event .page-h3-area3 {
    width: 1010px;
    margin-top: 30px;
}

#pages .event .page-search .right-area {
    width: 930px;
}

/*  event confirm
--------------------------------------------------------------*/
.event .cont03 h3 {
    font-size: 22px;
    padding: 20px 0 0;
    border-bottom: 2px solid #ccc;
}

.event .cont03 h3:nth-of-type(1) {
    color: #f00;
}

.event .cont03 h3:nth-of-type(2) {
    color: #0cf;
}

.event .cont03 h3:nth-of-type(3) {
    color: #3a726d;
}

.event .cont03 h3:nth-of-type(4) {
    color: #303030;
}

.event .cont03 h3:nth-of-type(5) {
    color: #ff2fff;
}

.event .cont03 h3:nth-of-type(6) {
    color: #212181;
}

.event .cont03 h3:nth-of-type(7) {
    color: #303030;
}

.event .cont03 .bg {
    padding: 20px 20px 10px;
    background-color: #f8f6f4;
}

.event .cont03 .border {
    margin: 0 auto 30px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.event .cont03 h4 {
    padding: 10px;
    background: linear-gradient(#666, #343434);
    border-bottom: 2px solid #ccc;
    border-radius: 5px 5px 0 0;
}

.event .cont03 h4 a {
    color: #fff;
}

.event .cont03 .box {
    padding: 20px;
}

.event .cont03 .box span {
    font-weight: bold;
    color: #ff4141;
}

.event .cont03 .box .clearfix {
    width: 800px;
    margin: 0 auto;
}

.event .cont03 .box .clearfix .button01, .event .cont03 .box .clearfix .button02 {
    float: left;
    width: 370px;
    margin: 0 10px;
}

.event .cont03 .button01 a {
    display: block;
    width: 370px;
    height: 42px;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    margin: 20px auto 0;
    padding: 5px 0 0;
    background: url(../images/mypage/login_button02-b5064034346c365031600d73cc694256.png) no-repeat;
    text-shadow: 2px 0 1px #df7207;
}

.event .cont03 .button01 a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.event .cont03 .button02 a {
    display: block;
    width: 370px;
    height: 42px;
    font-size: 18px;
    font-weight: bold;
    color: #333;
    text-align: center;
    margin: 20px auto 0;
    padding: 5px 0 0;
    background: url(../images/mypage/login_button01-a4b3804b8960ae14822bddf3cb64ec01.png) no-repeat;
}

.event .cont03 .button02 a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.event .cont03 h5 {
    font-size: 20px;
    color: #025fc2;
}

/*  shop_common
--------------------------------------------------------------*/
.shop_common {
    background-color: #fff;
    border-width: 1px 0 0;
    border-style: solid;
    border-color: #ccc;
}

.shop_common section {
    margin: 0;
}

.shop_common .header_btn {
    margin-bottom: 25px;
}

.shop_common .pankuzu {
    margin: 0 !important;
    padding: 10px 0;
    background-color: #fff;
}

.shop_header {
    background-color: #29314c;
}

.shop_header .inner {
    display: flex;
    color: #fff;
    padding: 8px;
    box-sizing: border-box;
    justify-content: space-between;
}

.shop_header .shop_info {
    font-size: 12px;
    overflow: hidden;
}

.shop_header .shop_info > p {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.shop_header .shopName {
    font-size: 1.2em;
    margin-right: 2px;
}

.shop_header .button {
    margin-left: 20px;
    overflow: initial;
    flex: 0 0 auto;
    align-self: center;
}

.shop_header .button a {
    text-decoration: none;
}

.shop_header .link_btn {
    display: inline-block;
    width: 150px;
    height: 38px;
    line-height: 40px;
    border-radius: 40px;
    color: #fff;
    font-weight: bold;
    text-align: center;
    font-size: 15px;
}

.shop_header .link_btn.coupon {
    background-color: #E84C41;
    box-shadow: 0 3px 0 #B02117;
}

.shop_header .link_btn.yoruticket {
    background-color: #0AB202;
    box-shadow: 0 3px 0 #228D3B;
}

.shop_header .link_btn.sp_send_btn {
    background-color: #1976D2;
    box-shadow: 0 3px 0 #1754B0;
}

.shop_header .link_btn .icon {
    display: inline-block;
    vertical-align: middle;
    margin-right: 2px;
}

.shop_header .link_btn:active {
    -webkit-transform: translate3d(0, 3px, 0);
    transform: translate3d(0, 3px, 0);
    box-shadow: none;
}

.shop_main_image {
    width: 100%;
    text-align: center;
    overflow: hidden;
}

.shop_main_image img {
    max-width: 1080px;
    max-height: 200px;
}

.shop_common .shop_menu {
    top: 0;
    z-index: 200;
    background: url(../images/fuzoku/common_nav_bg-b56b40bb2fe5e8a1824402c9915fefc7.png);
}

.shop_common .shop_menu ul {
    width: 100%;
    letter-spacing: -1em;
}

.shop_common .shop_menu li {
    height: 40px;
    text-align: center;
    border-left: 1px solid #ddd;
    letter-spacing: normal;
    width: auto;
}

.shop_common .shop_menu ul li:last-of-type {
    border-right: 1px solid #ddd;
}

.shop_menu a {
    display: inline-block;
    width: 100%;
    height: 100%;
    text-align: center;
    letter-spacing: normal;
}

.shop_common .keep_pos {
    position: fixed;
    width: 100%;
}

.shop_common .shop_menu {
    position: sticky;
}

/*
店舗TOP > 女の子ページ
======================================================*/
.girl_common {
    padding-bottom: 0 !important;
}

.girl_common .girl_title {
    margin-bottom: 20px !important;
    padding-bottom: 10px;
    background: linear-gradient(to bottom, #e5e5e5, #fff 50px);
    border-width: 1px 0;
    border-style: solid;
    border-color: #cbcbcb;
    overflow: hidden;
    box-shadow: 0 1px 0 #fff inset;
}

.girl_common .girl_title h2 {
    float: left;
    margin-top: 10px;
    padding-left: 15px;
    border-left: 4px solid #ec407a;
}

.girl_common .girl_title .right-area {
    display: flex;
    margin-top: 10px;
    align-items: center;
}

.girl_common .girl_title a.text {
    font-weight: normal;
    color: #ec407a;
    text-decoration: none;
}

.girl_common .girl_title a.text:hover {
    border-bottom: 1px solid #ec407a;
}

.girl_common .profile_top {
    position: relative;
    padding: 20px 20px 50px 20px;
    background-color: #fff;
    box-shadow: 0 0 20px #ede9ea;
}

/* オキニ登録・メッセージを送るボタン（店舗女の子共通） */
a.message_btn, .okini_btn {
    display: inline-block;
    width: 210px;
    height: 35px;
    font-size: 15px;
    color: #fff;
    text-align: center;
    padding: 5px;
    padding-left: 27px;
    border-radius: 4px;
    box-sizing: border-box;
    vertical-align: middle;
}

a.message_btn {
    background: #87e0fd;
    background: url(../images/fuzoku/shop/top/send_msg_ico-b46426f9c79df04da19bc3c7830c939b.png), linear-gradient(to bottom, #6ebae6 0%, #2e8fd4 100%);
    background-repeat: no-repeat;
    background-position: 15%;
    border: 1px solid #376ea9;
    box-shadow: 0 2px 0 0 #346586, inset 1px 1px 0 0 #73c3ff;
    text-shadow: 0 1px 1px #0b4a67;
}

.okini_btn {
    padding-left: 21px;
    background: #ff7600;
    background: url(../images/fuzoku/shop/top/okini_ico-ea8dbf0973e519f604c8f9ebd6700d46.png), linear-gradient(to bottom, #ffbe5e 0%, #ff7600 100%);
    background-repeat: no-repeat;
    background-position: 15%;
    border: 1px solid #ff8713;
    box-shadow: 0 2px 0 0 #dc6d00, inset 1px 1px 0 0 #ffd69c;
    text-shadow: 0 1px 1px #cc6700;
}

.pop_msg {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 10000;
    display: none;
    width: auto;
    color: #fff;
    padding: 8px 20px;
    background: rgba(0, 0, 0, 0.8);
    border-radius: 4px;
}

.girl_common .girl_title .message_btn, .girl_common .girl_title .okini_btn, .girl_common .girl_title .okini_btn.registered {
    width: 175px;
    margin-left: 8px;
    background-position: 10%;
}

.sidebar .okini_btn {
    margin-bottom: 10px;
}

.sidebar .message_btn {
    margin-bottom: 4px;
}

.message_btn:hover, .okini_btn:hover {
    cursor: pointer;
    -webkit-transform: translate3d(0, 3px, 0);
    transform: translate3d(0, 3px, 0);
    text-decoration: none;
    box-shadow: none;
}

.okini_btn.registered {
    font-weight: bold;
    line-height: 25px;
    color: #ababab;
    background: url(../images/fuzoku/shop/top/okini_ico_registered-6f6a0bec216611751b858b5544c8f632.png), #efefef;
    background-repeat: no-repeat;
    background-position: 15%;
    border: 1px solid #ccc;
    box-shadow: 0 2px 0 0 #e2e2e2, inset 1px 1px 0 0 #f2f2f2;
    text-shadow: none;
}

.okini_btn.registered:hover {
    cursor: default;
    -webkit-transform: none;
    transform: none;
    box-shadow: 0 2px 0 0 #e2e2e2, inset 1px 1px 0 0 #f2f2f2;
}

/*
写メ一覧拡大時の調整用
======================================================*/
.girl_photo_view_full {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 300;
    display: none;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
}

.girl_photo_view_full .content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 380px;
    height: 500px;
    text-align: center;
    margin: auto;
    background-color: #000;
}

.girl_photo_view_full .content .close {
    position: relative;
    top: 15px;
    right: -15px;
    z-index: 3;
    float: right;
    margin-top: -30px;
    margin-left: -30px;
    cursor: pointer;
    vertical-align: top;
}

.girl_photo_view_full .content .photo_next, .girl_photo_view_full .content .photo_prev {
    position: relative;
    top: 220px;
    margin-bottom: -48px;
    padding: 20px;
    cursor: pointer;
}

.girl_photo_view_full .content .photo_prev {
    left: -65px;
    float: left;
}

.girl_photo_view_full .content .photo_next {
    right: -65px;
    float: right;
}

.girl_photo_view_full .content .img {
    position: relative;
    width: 360px;
    height: 480px;
    text-align: center;
    margin: 10px;
    background-color: #000;
}

.girl_photo_view_full .content .full_photo {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.girl_photo_view_full .full_cate_icon {
    position: absolute;
    left: 0;
    z-index: 10000;
    font-size: 13px;
    color: #dfdfdf;
    margin: 4px;
    padding: 1px 8px;
    background-color: rgba(0, 0, 0, 0.8);
    border-radius: 6px;
}

.girl_photo_view_full .content .msg, .girl_photo_view_full .content .time {
    position: initial;
    bottom: 0;
    left: 0;
    font-size: 13px;
    color: #fff;
    text-align: left;
    padding: 6px 10px;
    background-color: #000;
}

.girl_photo_view_full .content .msg {
    font-size: 18px;
    line-height: 18px;
    color: #fff;
    padding-bottom: 0;
}

.girl_photo_view_full .content .msg.oneline {
    bottom: 3px;
}

.girl_photo_view_full .content p.msg a {
    color: #fff;
}

.girl_photo_view_full .content p.msg a:hover {
    text-decoration: underline;
}

.girl_photo_view_full .content p.msg.type02 a {
    color: #ff5790;
    text-decoration: underline;
}

.girl_photo_view_full .content p.msg.type02 a:hover {
    text-decoration: none;
}

.side_banner {
    position: relative;
    top: 35px;
    right: 10px;
    z-index: 201;
    float: right;
    width: 180px;
    margin-top: -23px;
    margin-bottom: -400px;
    background-color: #ff3b3b;
    border: 2px solid #ff3b3b;
    border-radius: 7px;
}

.side_banner.keepPos {
    position: fixed;
    top: 80px;
    right: 10px;
}

.side_banner .side_banner_close {
    position: relative;
    top: -10px;
    right: -10px;
    float: right;
    margin-bottom: -28px;
    cursor: pointer;
}

.side_banner h2 {
    font-size: 16px;
    color: #fff;
    text-align: center;
    padding: 2px 0;
}

.side_banner .content {
    background-color: #fff;
}

.side_banner .textbox {
    position: relative;
}

.side_banner .discount_link {
    display: block;
    line-height: 1.4;
    padding: 6px 6px 0;
    text-decoration: none;
}

.discount_hl {
    font-size: 14px;
    text-align: left;
    padding: 2px 6px;
    background-color: #fcffe0;
    font-weight: bold;
    color: #333;
}

.side_banner .off_icon {
    position: absolute;
    top: 6px;
    right: 6px;
    display: table;
    width: 50px;
    height: 38px;
    font-size: 14px;
    font-weight: bold;
    color: #fffb00;
    text-align: center;
    margin-left: 6px;
    padding: 3px;
    background: #363f5d;
    border-radius: 4px;
    z-index: 202;
}

.side_banner .off_icon_inner {
    display: table-cell;
    line-height: 1.1;
    vertical-align: middle;
}

.side_banner .off_icon_inner .num {
    display: inline-block;
    font-size: 22px;
}

.side_banner .off_icon_inner .mark {
    font-size: 14px;
}

.side_banner .discount_value {
    font-size: 14px;
    font-weight: bold;
    color: #333;
    box-sizing: border-box;
}

.side_banner .discount .price01 {
    font-size: 13px;
    margin-top: 2px;
    font-weight: normal;
    color: #111;
}

.side_banner .discount .price01 > span {
    text-decoration: line-through;
}

.side_banner .discount_value .num {
    font-size: 24px;
    color: #f52011;
}

.side_banner .side_discount_link {
    display: block;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    padding: 2px 0 1px;
}

.side_banner .side_discount_link:hover {
    text-decoration: none;
}

/*  店舗ページ女の子TOP
--------------------------------------------------------------*/
.profile_details_top .photos {
    display: inline-block;
    width: 440px;
    text-align: center;
    padding: 10px;
    background-color: #2b2f33;
    vertical-align: top;
}

.profile_details_top .photos img.big {
    height: 100%;
}

.profile_details_top .photos .img {
    position: relative;
    width: 440px;
    height: 587px;
    text-align: center;
    padding-bottom: 10px;
    background-color: #000;
    cursor: pointer;
}

.profile_details_top .photos .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.profile_details_top .photos .photo_prev {
    position: relative;
    top: 280px;
    left: -8px;
    z-index: 2;
    float: left;
    margin-bottom: -32px;
    cursor: pointer;
}

.profile_details_top .photos .photo_next {
    position: relative;
    top: 280px;
    right: -8px;
    z-index: 2;
    float: right;
    margin-bottom: -32px;
    cursor: pointer;
}

.profile_details_top .photos .glass {
    position: relative;
    top: -15px;
    right: 3px;
    z-index: 90;
    float: right;
    margin-top: -32px;
    cursor: pointer;
}

.profile_details_top .photos p.photo_number {
    position: relative;
    top: -3px;
    font-size: 18px;
    font-weight: normal;
    text-align: left;
    margin-top: -24px;
    padding-left: 10px;
}

.profile_details_top .photos ul {
    padding-top: 10px;
}

.profile_details_top .photos .btn p {
    float: left;
    width: 200px;
    margin: 5px 10px 0;
}

.profile_details_top .details {
    display: inline-block;
    width: 560px;
    padding-left: 10px;
    vertical-align: top;
}

/* プロフィール詳細 */
.girl_top .details_top {
    display: table;
    width: 560px;
    border: 1px solid #ccc;
    box-sizing: border-box;
    border-collapse: collapse;
}

.girl_top .details_top .item {
    display: table-row;
    border-top: 1px dashed #ccc;
}

.girl_top .details_top .item:first-child {
    border-top: none;
}

.girl_top .details_top .name {
    width: 115px;
    font-size: 14px;
    font-weight: bold;
    padding-left: 15px;
    background-color: #f8f6f4;
}

.girl_top .details_top .name, .girl_top .details_top .desc {
    display: table-cell;
    vertical-align: middle;
}

.girl_top .details_top .desc {
    font-size: 14px;
    padding: 10px;
}

.girl_top .details_top .tag {
    display: inline-block;
    height: 24px;
    font-size: 14px;
    font-weight: bold;
    line-height: 24px;
    text-align: center;
    margin-right: 4px;
    padding: 0 16px;
    box-sizing: border-box;
}

.girl_top .details_top .tag.icon01 {
    letter-spacing: -3px;
}

/* --------------------------------------- */
/* アイテム 特集記事 */
.profile_details_top .special.item .name {
    color: #ed437c;
    background-color: #fef2f6;
}

.profile_details_top .special.item .desc {
    padding: 0;
}

.profile_details_top .special.item .banner {
    width: 100%;
}

/* --------------------------------------- */
.profile_details_top div.title h2 {
    display: flex;
    height: 32px;
    font-size: 16px;
    line-height: 34px;
    padding: 0 10px;
    background: linear-gradient(to top, #f1f1f1, #fff 30px);
    border-top: 2px solid #ec407a;
    border-bottom: 1px solid #ccc;
}

.profile_details_top div.title h2 i {
    font-size: 18px;
    line-height: 32px;
    color: #ed437c;
    padding-right: 4px;
}

.profile_details_top .diary, .profile_top .video {
    margin-top: 20px;
    overflow: hidden;
}

.girl_common .profile_top .read_more {
    font-size: 13px;
    font-weight: normal;
    color: #ed417a;
    margin-left: auto;
}

.girl_common .profile_top .read_more i {
    font-size: 12px;
    line-height: 1em;
    color: #ed417a;
    padding-right: 4px;
    vertical-align: baseline;
}

.profile_top .diary ul {
    display: flex;
    font-size: 0;
    margin-top: 10px;
}

.profile_top .diary li {
    width: 104px;
    margin-right: 10px;
    box-sizing: border-box;
    vertical-align: top;
}

.profile_top .diary li:nth-child(5n) {
    margin-right: 0;
}

.profile_top .diary li .img {
    position: relative;
    width: 100%;
    height: 139px;
    text-align: center;
    background: transparent;
}

.profile_top .diary .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.profile_top .diary .date {
    font-size: 12px;
    color: #444;
    margin-top: 4px;
}

.profile_top .diary .title {
    font-size: 12px;
    font-weight: bold;
    line-height: 1.4em;
    word-break: break-word;
}

/* --------------------------------------- */
.profile_top .video ul {
    display: flex;
    margin-top: 10px;
}

.profile_top .video li {
    width: 133px;
    margin-right: 10px;
    vertical-align: top;
}

.profile_top .video li:nth-child(4n+0) {
    margin-right: 0;
}

.profile_top .video .photo img {
    width: 100%;
}

.profile_top .video li .img {
    position: relative;
    width: 100%;
    height: 75px;
    text-align: center;
    background-color: #000;
}

.profile_top .video .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    margin: auto;
}

.profile_top .video .time {
    position: absolute;
    right: 5px;
    bottom: 4px;
    z-index: 3;
    font-size: 12px;
    line-height: 1;
    color: #fff;
    margin: 0;
    text-shadow: 0 0 2px #111;
}

.profile_top .video .img > a:first-of-type::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    width: 31px;
    height: 31px;
    margin: auto;
    content: url(../images/common/movie_icon2-7ffc3fb0800694a828dbd5eb9d1d0ce7.png);
}

.profile_top .video ul .title {
    font-size: 12px;
    font-weight: bold;
    margin-top: 4px;
}

/* アイテム詳細：スケジュール */
.profile_top .schedule {
    margin-top: 20px;
}

.profile_top .schedule .phone.txt {
    width: auto;
    font-size: 22px;
    font-weight: bold;
    color: #ec407a;
    margin-left: auto;
}

.profile_top .schedule .phone.txt span {
    font-size: 12px;
    font-weight: normal;
    color: #000;
}

/* アイテム詳細：スケジュール一覧 */
.girl_top .list_schedule {
    display: flex;
    padding: 10px;
    background-color: #edf0f2;
    justify-content: space-between;
    align-content: center;
}

.girl_top .list_schedule .elm {
    position: relative;
    display: flex;
    min-height: 92px;
    text-align: center;
    background-color: #fff;
    border: 1px solid #b3b3b3;
    border-radius: 5px;
    flex-direction: column;
    justify-content: space-between;
    flex: 0 0 136px;
}

.wait_cancel {
    display: inline-block;
    width: calc(100% - 8px);
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    margin: 0 4px 4px;
    background: #ff7474;
    border-radius: 4px;
}

/* アイテム詳細：出勤時間 */
.profile_top .list_schedule .date {
    display: inline-block;
    width: 100%;
    font-size: 14px;
    color: #000;
    padding: 4px 0;
    background-color: #e4e4e4;
    border-radius: 4px 4px 0 0;
    align-self: flex-start;
}

.profile_top .list_schedule .date.sat {
    color: #006eff;
}

.profile_top .list_schedule .date.sun {
    color: #f00;
}

.profile_top .list_schedule .hour {
    display: inline-block;
    width: 100%;
    font-size: 14px;
    color: #666;
    margin: auto;
    padding: 3px 0;
    vertical-align: middle;
}

.profile_top .list_schedule .hour.fixed {
    color: #000;
}

/* js用 */
.profile_top .js_detail_view {
    cursor: pointer;
}

.profile_top .js_detail_view .hour.fixed {
    color: #005fc0;
}

/* 休み */
.profile_top .list_schedule .hour.day_off {
    color: #be1d2c;
}

/* アイテム詳細：予約情報 */
.profile_top .schedule_detail {
    position: absolute;
    top: 102px;
    left: -34px;
    z-index: 2;
    display: none;
    width: 190px;
    padding: 4px;
    background-color: #fff;
    border: 2px solid #b2edff;
    cursor: default;
    box-shadow: 0 0 10px #d9dcde;
}

.profile_top .wait_cancel + .schedule_detail {
    top: 105px;
}

.profile_top .schedule_detail::before {
    position: relative;
    top: -14px;
    left: 0;
    display: block;
    height: 10px;
    margin-bottom: -10px;
    background: url(../images/fuzoku/girl/top/arrow_top-e238ec25df71bfc0ad84619298d428ea.png) center center no-repeat;
    content: ' ';
}

.profile_top .schedule_detail .close {
    position: absolute;
    top: -9px;
    right: -9px;
    cursor: pointer;
}

.profile_top .schedule_detail .hl {
    font-size: 15px;
    color: #fff;
    text-align: left;
    padding: 2px 6px;
    background-color: #05b3e8;
}

.profile_top .schedule_detail .notice {
    font-size: 11px;
    font-weight: normal;
}

.profile_top .schedule_detail .frame_timetable {
    max-height: 244px;
    overflow-y: auto;
}

.profile_top .frame_timetable::-webkit-scrollbar {
    width: 4px;
}

.profile_top .frame_timetable::-webkit-scrollbar-track {
    background-color: #e2e2e2;
}

.profile_top .frame_timetable::-webkit-scrollbar-thumb {
    background-color: #686868;
    border-radius: 10px;
}

.profile_top .schedule_detail .timetable {
    font-size: 14px;
    text-align: left;
    margin: 0;
    padding: 0;
    padding-top: 5px;
    background: none;
    cursor: initial;
    vertical-align: top;
}

.schedule_detail .timetable > li {
    margin-bottom: 2px;
}

.profile_top .schedule_detail .lbl_time {
    display: inline-block;
    width: 2.5em;
    text-align: right;
    margin-right: 2px;
}

.profile_top .schedule_detail .reserved {
    color: #f00;
    margin-left: 2px;
}

/* --------------------------------------- */
.profile_top .profile {
    margin-top: 20px;
}

.profile_top .profile > h2 {
    font-size: 16px;
    line-height: 35px;
    color: #fff;
    text-align: center;
    margin-bottom: 8px;
    background-color: #ec407a;
}

.profile_top .profile > h3 {
    height: 33px;
    font-size: 15px;
    line-height: 33px;
    color: #e52e77;
    margin-bottom: 6px;
    padding-left: 15px;
    background-color: #fff4f8;
    border: 1px solid #f0d4d4;
    border-radius: 5px;
}

.girl_top .profile > h3 + .profile_cont {
    margin-top: 0;
}

.girl_top .profile .profile_cont {
    font-size: 16px;
    color: #111;
    margin-top: 8px;
    margin-bottom: 16px;
}

.girl_top .profile_cont .inner {
    width: auto;
}

.profile_top .page_nav {
    display: flex;
    text-align: center;
    margin-top: 20px;
    padding: 20px;
    background-color: #f8f6f4;
    border: 1px solid #e8e0d8;
    border-top-left-radius: 7px;
    border-top-right-radius: 7px;
    justify-content: space-between;
}

/* --------------------------------------- */
.profile_top .page_nav .img {
    position: relative;
    top: 7px;
    display: inline-block;
    width: 40px;
    height: 53px;
    font-size: 10px;
    text-align: center;
    background: transparent;
    overflow: hidden;
}

.profile_top .page_nav .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.profile_top .page_nav .name {
    position: absolute;
    top: 14px;
    display: inline-block;
    max-width: 230px;
    font-weight: bold;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.profile_top .page_nav .prev, .profile_top .page_nav .next {
    position: relative;
    display: inline-block;
    width: 320px;
    height: 72px;
    vertical-align: top;
}

.profile_top .page_nav .desc {
    position: absolute;
    top: 38px;
    font-size: 12px;
    color: #222;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* --------------------------------------- */
.profile_top .page_nav .prev {
    text-align: left;
    background: url(../images/fuzoku/girl/top/prev_btn-8dbe7c3d7f14b18d6d5fd54ffb14228d.png) top left no-repeat;
}

.profile_top .page_nav .next {
    text-align: right;
    background: url(../images/fuzoku/girl/top/next_btn-331b98bfe907da85be6e44794f0e515f.png) top left no-repeat;
}

.profile_top .page_nav .prev .img {
    left: 35px;
}

.profile_top .page_nav .next .img {
    right: 35px;
}

.profile_top .page_nav .prev .desc, .profile_top .page_nav .prev .name {
    left: 85px;
}

.profile_top .page_nav .next .desc, .profile_top .page_nav .next .name {
    right: 85px;
}

/* --------------------------------------- */
.profile_top .shop {
    margin-top: 20px !important;
    padding-top: 15px;
    background: url(../images/fuzoku/girl/common_bg_03-f6f30f305dcaf69cc37a178218bd377a.jpg) top left repeat-x;
    border-top: 3px solid #ec407a;
}

.profile_top .shop .box_tel_info {
    float: right;
    margin-right: 20px;
}

.profile_top .shop h2.name {
    padding-left: 20px;
}

.profile_top .shop p.name_sub {
    color: #666;
    padding-left: 20px;
}

.profile_top .shop .desc {
    display: inline-block;
    width: 490px;
    margin-top: 16px;
}

.profile_top .shop .desc h3 {
    font-size: 16px;
    color: #ec407a;
}

.profile_top .shop .desc p {
    font-size: 13px;
    line-height: 22px;
    padding-top: 10px;
}

.profile_top .shop .details {
    display: inline-block;
    width: 512px;
    margin-top: 16px;
    margin-left: 14px;
    padding: 8px;
    background-color: #f8f6f4;
    vertical-align: top;
}

.profile_top .shop .details .item {
    display: flex;
    margin-bottom: 6px;
    align-items: flex-start;
}

.profile_top .shop .details .item:last-child {
    margin-bottom: 0;
}

.profile_top .shop .details .item .name {
    display: inline-block;
    font-size: 14px;
    font-weight: bold;
    padding-left: 30px;
    background-position: 0;
    vertical-align: top;
    flex: 0 0 100px;
}

.profile_top .shop .details .item .name.time {
    background: url(../images/fuzoku/girl/top/icon_01-0353264f8daa959b8f75adc325297abb.png) top left no-repeat;
}

.profile_top .shop .details .item .name.addr {
    background: url(../images/fuzoku/girl/top/icon_02-a9f3dde9b31666f0c4da1ba5c1c276f6.png) top left no-repeat;
}

.profile_top .shop .details .item .name.acc {
    background: url(../images/fuzoku/girl/top/icon_03-bcd026c61bf2f295d9ff1e3e5bd4aa03.png) top left no-repeat;
}

.profile_top .shop .details .item .name.deriarea {
    background: url(../images/fuzoku/girl/top/icon_06-7681e8d98b7fdac5bbbdb6909452859e.png) top left no-repeat;
}

.profile_top .shop .details .item .name.service {
    background: url(../images/fuzoku/girl/top/icon_04-dbb1b2939ad29f429b3ac43adc6c39f2.png) center left no-repeat;
}

.profile_top .shop .details .item .name.genre {
    background: url(../images/fuzoku/girl/top/icon_05-a6528e09cb5a325866344efdc8d975ae.png) center left no-repeat;
}

.profile_top .shop .details .item .desc {
    font-size: 14px;
    line-height: 21px;
    margin-top: 0;
    margin-left: 20px;
    flex: 1 1 100%;
}

/* スマホに送る モーダル用 */
.shop_common .parent_modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10000;
    display: none;
    width: auto;
    height: auto;
    margin: auto;
}

.modal-bg.send_url {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

.send_url_modal-body .modal {
    position: absolute;
    bottom: 0;
    width: 640px;
    color: #666;
    margin: 0;
    padding: 20px;
    background-color: #fff;
}

.send_url_modal-body h4 {
    font-size: 17px;
    margin-bottom: 8px;
}

.send_url_modal-body .form-parts.email {
    width: 500px;
    margin-top: 10px;
}

.shop_common .sp_send_btn:hover {
    cursor: pointer;
}

.send_url_modal-body .caution {
    font-size: 13px;
    color: #555;
    padding: 8px;
    background-color: #eaf7ff;
}

.send_url_modal-body .caution > span {
    display: inline-block;
    font-size: 13px;
    color: #666;
    margin-top: 8px;
}

.send_url_modal-body .qr {
    font-size: 13px;
    line-height: 1.4em;
    margin-left: 10px;
    padding: 8px;
    background-color: #fff8ea;
}

.send_url_modal-body .qr img {
    width: 85px;
    height: 85px;
    margin-left: 5px;
}

.send_url_modal-body button {
    width: 100px;
    height: 32px;
    font-size: 14px;
    color: #fff;
    background-color: #1976d2;
    border: none;
    border-radius: 4px;
}

.iframe_wrap {
    position: relative;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    height: auto;
    margin: auto;
    visibility: hidden;
}

.send_close_btn {
    position: absolute;
    top: -15px;
    right: -15px;
    z-index: 100001;
}

.send_close_btn:hover {
    cursor: pointer;
}

.send_url_modal-body {
    min-width: 0 !important;
    background: none !important;
}

/*  girl_video
--------------------------------------------------------------*/
.girl_video .main_video {
    padding: 10px;
    background-color: #f8f6f4;
}

.girl_video .main_video .content {
    text-align: center;
    padding: 20px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.girl_video .video_box .video {
    width: 100%;
    max-width: 480px;
    max-height: 270px;
    background-color: #000;
}

.girl_video .main_video .content h2 {
    padding-top: 5px;
}

.girl_video .main_video .content ul {
    padding-top: 5px;
}

.girl_video .main_video .content li {
    display: inline-block;
    padding: 0 10px;
    vertical-align: top;
}

.girl_video .main_video .content a {
    position: relative;
    top: 5px;
}

.girl_video .main_video .content a:hover {
    text-decoration: underline;
}

.girl_video .main_video .movie_cate {
    width: 100%;
    font-size: 11px;
    clear: both;
}

.girl_video .main_video .movie_cate span {
    margin-left: 4px;
    padding: 1px 8px;
}

.girl_video .main_video .girl_video .video_list {
    margin-top: 20px !important;
    margin-bottom: 40px !important;
    background-color: #f8f6f4;
}

.girl_video .video_list h2 {
    color: #fff;
    padding-top: 14px;
    padding-bottom: 10px;
    padding-left: 55px;
    background: #ec407a url(../images/fuzoku/girl/video/icon_01-ba9948c357bd7a098723b905ac098094.png) center left no-repeat;
    background-position: 20px;
}

.girl_video .video_list ul {
    padding: 10px;
}

.girl_video .video_list li {
    position: relative;
    display: inline-block;
    width: 195px;
    margin-right: 3px;
    margin-bottom: 10px;
    background-color: #fff;
    border: 1px solid #ccc;
    vertical-align: top;
}

.girl_video .video_list ul li:nth-child(5n+0) {
    margin-right: 0;
}

.girl_video .video_list .img {
    position: relative;
    width: 195px;
    height: 110px;
    text-align: center;
    background-color: #000;
}

.girl_video .video_list .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.girl_video .video_list .img .time {
    position: absolute;
    right: 5px;
    bottom: 5px;
    font-size: 12px;
    line-height: 1;
    color: #fff;
    margin: 0;
    text-shadow: 0 0 2px #111;
}

.girl_video .video_list li > div a:first-of-type::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 31px;
    height: 31px;
    margin: auto;
    content: url(../images/common/movie_icon2-7ffc3fb0800694a828dbd5eb9d1d0ce7.png);
}

.girl_video .video_list li.active > div a:first-of-type::after {
    content: '';
}

.girl_video .video_list ul li.active::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.7;
    content: '';
}

.girl_video .video_list ul li.active::after {
    position: absolute;
    top: 36%;
    left: 20%;
    z-index: 3;
    display: block;
    font-size: 20px;
    color: #fff;
    padding: 5px 11px;
    padding-bottom: 1px;
    border: 2px solid #fff;
    border-radius: 5px;
    content: '▶ 再生中';
}

.girl_video .video_list li img {
    width: 100%;
}

.girl_video .video_list li p.time {
    font-size: 13px;
    color: #111;
    padding-top: 6px;
    padding-left: 6px;
}

.girl_video .video_list li p.name {
    font-weight: bold;
    color: #005fc0;
    padding-left: 6px;
}

.girl_video .video_list li p.name span {
    position: relative;
    top: -2px;
    left: 5px;
    display: inline-block;
    font-size: 10px;
    font-weight: normal;
    color: #f34238;
    padding: 0 3px;
    border: 1px solid #f34238;
    border-radius: 4px;
}

.girl_video .video_list .movie_cate {
    padding: 0 6px 6px;
}

.girl_video .video_list .movie_cate span {
    margin-right: 2px;
    padding: 0 1px;
}

/*--------------------------------------------------------------
girl_photo
--------------------------------------------------------------*/
.girl_photo .photo_list h2 {
    height: 34px;
    color: #fff;
    padding-top: 11px;
    padding-bottom: 6px;
    padding-left: 20px;
    background-color: #ec407a;
}

.girl_photo .photo_list a.diary_btn {
    float: right;
    padding-top: 10px;
    padding-right: 10px;
}

.girl_photo .photo_list .top_menu {
    text-align: center;
    margin-top: 15px;
    margin-bottom: 15px;
}

.girl_photo .photo_list .top_menu p.prev {
    float: left;
}

.girl_photo .photo_list .top_menu p.next {
    float: right;
}

.girl_photo .photo_list .top_menu p a {
    color: #005fc0;
    border-bottom: 1px solid #005fc0;
    text-decoration: none;
}

.girl_photo .photo_list .top_menu li {
    display: inline-block;
    vertical-align: top;
}

.girl_photo .photo_list .top_menu li a {
    text-decoration: none;
}

.girl_photo .photo_list .top_menu li p.btn {
    width: 253px;
    line-height: 26px;
    text-align: center;
    border: 1px solid #ccc;
    border-radius: 7px;
}

.girl_photo .photo_list .top_menu li p.on {
    background-color: #ec407a;
    border: 1px solid #ec407a;
    border-radius: 7px;
}

.girl_photo .photo_list .top_menu li p span {
    font-size: 12px;
    padding-left: 16px;
    background: url(../images/fuzoku/girl/photo/arrow-right-2a7b5b40d099d1bf50396ea027e9a3f3.jpg) center left no-repeat;
}

.girl_photo .photo_list .top_menu li p.on span {
    color: #fff;
    padding-left: 0;
    background: none;
}

.girl_photo .photo_list .top_menu li p.on::after {
    position: relative;
    top: 8px;
    display: block;
    width: 253px;
    height: 7px;
    margin-top: -7px;
    background: url(../images/fuzoku/girl/photo/arrow-bottom-52b602cd6efd530e5364b38a46eb8676.jpg) center center no-repeat;
    content: '';
}

.girl_photo .photo_list .top_menu.bottom li p.on::after {
    position: relative;
    top: -27px;
    display: block;
    width: 253px;
    height: 7px;
    margin-top: -7px;
    background: url(../images/fuzoku/girl/photo/arrow-top-34913ef9c32f89c6c9c6a5992ed4d290.jpg) center center no-repeat;
    content: '';
}

.girl_photo .photo_list .top_menu li p.off span {
    color: #ccc;
    padding-left: 0;
    background: none;
}

.girl_photo .photo_list .top_menu h3 {
    color: #ec407a;
}

.girl_photo .photo_list > .content {
    padding: 5px;
    background-color: #f8f6f4;
}

.girl_photo .photo_list .content li {
    display: inline-block;
    width: 200px;
    margin-right: 2px;
    cursor: pointer;
}

.girl_photo .photo_list .content ul li:nth-child(5n+0) {
    margin-right: 0;
}

.girl_photo .photo_list .content li img {
    width: 100%;
}

.girl_photo .photo_list .content li .img {
    position: relative;
    width: 200px;
    height: 200px;
    text-align: center;
    overflow-y: hidden;
}

.girl_photo .photo_list .content li .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    height: auto;
    margin: auto;
}

.girl_photo .photo_list .content li .img span {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 176px;
    font-style: normal;
    color: #fff;
    text-align: left;
    padding: 0 12px;
    background: rgba(0, 0, 0, 0.7);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.girl_photo .photo_list .content .more_btn img {
    display: block;
    margin: 0 auto;
    padding-top: 5px;
    padding-bottom: 5px;
    cursor: pointer;
}

.girl_photo .photo_list .count p {
    color: #222;
    padding-top: 10px;
    padding-bottom: 10px;
}

.girl_photo .photo_list .count p span {
    color: #f44336;
}

.girl_photo .photo_list .bottom_menu {
    text-align: center;
    padding-top: 15px;
    border-top: 1px solid #e5e5e5;
}

.girl_photo .photo_list .bottom_menu a img {
    padding: 5px;
}

/* --------------------------------------------------------------
プライベート日記 (girl_pdiary)
--------------------------------------------------------------*/
.girl_pdiary .pdiary_ttl {
    position: relative;
    color: #fff;
    padding-top: 11px;
    padding-right: 180px;
    padding-bottom: 6px;
    padding-left: 20px;
    background-color: #ec407a;
}

.girl_pdiary .pdiary_ttl .diary_btn {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    height: 30px;
    margin: auto;
}

.girl_pdiary .girl_sidebar {
    display: inline-block;
    width: 210px;
    padding: 5px;
    background-color: #edf0f2;
    vertical-align: top;
}

.girl_pdiary .sidebar_item {
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.girl_pdiary .sidebar_item + .sidebar_item {
    margin-top: 10px;
}

.girl_pdiary .sidebar_item.calendar {
    text-align: center;
    padding-bottom: 10px;
    background-color: #fafafa;
}

.girl_pdiary .sidebar_item.calendar .calendar_prev {
    position: relative;
    top: -1px;
    font-size: 12px;
    color: #1069c4;
    padding: 10px;
    cursor: pointer;
    letter-spacing: -2px;
}

.girl_pdiary .girl_sidebar .calendar_next {
    position: relative;
    top: -1px;
    font-size: 12px;
    color: #1069c4;
    padding: 10px;
    cursor: pointer;
    letter-spacing: -2px;
}

.girl_pdiary .sidebar_item.calendar .disabled, .girl_pdiary .sidebar_item.calendar .disabled:hover {
    color: #aaa;
    cursor: default;
    text-decoration: none;
}

#calendar {
    display: block;
    width: 168px;
    text-align: center;
    margin: 0 auto;
}

.girl_sidebar .calendar {
    border: none;
}

.girl_sidebar .calendar td {
    width: 26px;
    height: 26px;
    font-size: 11px;
    line-height: 25px;
    background-color: #fff;
    border: 1px solid #dbdbdb;
}

.girl_sidebar .calendar td.link {
    background-color: #fff3f7;
    border: 2px solid pink;
}

.girl_sidebar .calendar .link a {
    color: #f26d9a;
}

.girl_sidebar .calendar .empty {
    background: initial;
    border: none;
}

.girl_sidebar .calendar .headline td {
    background: none;
    border: none;
}

.girl_pdiary .sidebar_item h2 {
    font-size: 16px;
    margin-bottom: 4px;
    padding: 6px 10px 3px;
    background-color: #fff;
    border-bottom: 1px solid #ccc;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.girl_pdiary .sidebar_item ul {
    font-size: 13px;
    padding: 4px;
}

.girl_pdiary .sidebar_item li {
    padding-bottom: 2px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.girl_pdiary .pdiary_list {
    display: inline-block;
    width: 804px;
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: 10px;
    vertical-align: top;
}

.girl_pdiary .pdiary {
    margin-top: 20px;
    padding: 5px;
    background-color: #f8f6f4;
}

.girl_pdiary .pdiary_item {
    display: flex;
    margin-bottom: 5px;
    padding: 10px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.girl_pdiary .img {
    position: relative;
    width: 105px;
    height: 140px;
    text-align: center;
    margin-right: 10px;
    vertical-align: top;
    flex: 0 0 105px;
}

.girl_pdiary .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.girl_pdiary .details {
    width: 656px;
    vertical-align: top;
    flex: 1 0 auto;
}

.girl_pdiary .details .time {
    font-size: 12px;
}

.girl_pdiary .details h2 {
    color: #005fc0;
    padding-top: 6px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.girl_pdiary .details .desc {
    font-size: 14px;
    line-height: 25px;
    padding-top: 1px;
}

.girl_pdiary .details .link {
    text-align: right;
}

.girl_pdiary .details .link a::before {
    content: '>>';
}

.girl_pdiary .bottom_menu {
    width: 565px;
    text-align: center;
    padding-top: 15px;
}

.girl_pdiary .bottom_menu a img {
    padding: 5px;
}

.girl_pdiary .pdiary_menu {
    text-align: center;
}

.girl_pdiary .pdiary_menu p.prev {
    float: left;
    width: 205px;
    font-size: 14px;
    line-height: 27px;
    padding: 10px;
    padding-left: 35px;
    background: url(../images/fuzoku/girl/pdiary/arrow_left-09d23c70184dd5b032a0e5e847743c0c.jpg) left center no-repeat;
    background-position: 10px;
    border: 1px solid #c2c2c2;
    border-radius: 6px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    box-shadow: 0 4px 2px -2px #c2c2c2;
}

.girl_pdiary .pdiary_menu a {
    text-decoration: none;
}

.girl_pdiary .pdiary_menu p.list {
    width: 280px;
    font-size: 15px;
    font-weight: bold;
    line-height: 52px;
    color: #e32367;
    margin: 0 auto;
    background: url(../images/fuzoku/girl/pdiary/list_btn-4f774ec5bf1d36f7dbe292ab3b204df5.png) left center no-repeat;
}

.girl_pdiary .pdiary_menu p.next {
    float: right;
    width: 205px;
    font-size: 14px;
    line-height: 27px;
    padding: 10px;
    padding-right: 35px;
    background: url(../images/fuzoku/girl/pdiary/arrow_right-458f5233b70abd48676c63be3d220482.jpg) right center no-repeat;
    background-position: center right 10px;
    border: 1px solid #c2c2c2;
    border-radius: 6px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    box-shadow: 0 4px 2px -2px #c2c2c2;
}

.girl_pdiary .pdiary_part {
    margin-top: 15px;
    margin-bottom: 15px;
    padding: 5px;
    background-color: #f8f6f4;
}

.girl_pdiary .pdiary_part .content {
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
    overflow: hidden;
}

.girl_pdiary .pdiary_part p.time {
    position: absolute;
    right: 40px;
    z-index: 10;
    color: #ec407a;
    padding-top: 13px;
}

.girl_pdiary .pdiary_part h2 {
    position: relative;
    width: calc(100% - 160px);
    margin-bottom: 15px;
    padding: 10px 145px 5px 15px;
    background-color: #fff2f7;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.girl_pdiary .pdiary_part img.photo_main {
    display: block;
    margin: 0 auto;
    cursor: pointer;
}

.girl_pdiary .pdiary_part .desc {
    margin: 20px;
}

/* 添付画像が無い場合 */
.girl_pdiary .pdiary_part img + .desc {
    padding-top: 15px;
    border-top: 1px solid #ccc;
}

.girl_pdiary .pdiary_part .desc p {
    line-height: 23px;
}

.girl_pdiary .pdiary_part .social {
    padding-top: 10px;
    padding-bottom: 5px;
    padding-left: 6px;
}

.girl_pdiary .pdiary_part .social li {
    display: inline-block;
}

.fb_iframe_widget > span {
    vertical-align: baseline !important;
}

/* pager */
.girl_pdiary .pdiary_paging {
    display: -webkit-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    align-items: stretch;
}

.girl_pdiary .pdiary_paging a {
    display: block;
    font-size: 13px;
    line-height: 28px;
    color: #000;
    margin-left: 18px;
    padding: 10px;
    background-color: #fff;
    border: 1px solid #c2c2c2;
    border-radius: 6px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    box-shadow: 0 4px 2px -2px #c2c2c2;
    flex: 0 242px;
}

.girl_pdiary .pdiary_paging a:first-child {
    margin-left: 0;
}

.girl_pdiary .pdiary_paging a.pdiary_list_link:first-child {
    margin-left: auto;
}

.girl_pdiary .pdiary_paging a.pdiary_list_link:only-child {
    margin: 0 auto;
}

.girl_pdiary .pdiary_paging a:hover {
    opacity: 0.7;
    text-decoration: none;
}

.girl_pdiary .pdiary_paging a.pdiary_list_link {
    max-width: 240px;
    font-size: 15px;
    font-weight: bold;
    color: #e32367;
    text-align: center;
    border: 2px solid #e32367;
    box-sizing: border-box;
}

.girl_pdiary .pdiary_paging a.prev::before {
    float: left;
    margin-right: 8px;
    content: url(../images/fuzoku/girl/pdiary/arrow_left-09d23c70184dd5b032a0e5e847743c0c.jpg);
}

.girl_pdiary .pdiary_paging a.next::before {
    float: right;
    margin-left: 8px;
    content: url(../images/fuzoku/girl/pdiary/arrow_right-458f5233b70abd48676c63be3d220482.jpg);
}

/*  common
--------------------------------------------------------------*/
.inner .to_top {
    text-align: center;
    margin: 20px auto;
    padding-top: 12px;
    padding-bottom: 12px;
    background-color: #fdecf1;
}

.inner .to_top a img {
    padding: 0 5px;
}

.inner .closeby {
    margin-top: 20px !important;
}

.inner .closeby h2 {
    color: #fff;
    text-align: center;
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: #1976d2;
    letter-spacing: 2px;
}

.inner .closeby .content {
    text-align: left;
    padding: 20px;
    border: 1px solid #ccc;
    border-top: none;
    border-radius: 0 0 7px 7px;
}

.inner .closeby ul.cont {
    display: inline-block;
    padding-right: 20px;
}

.inner .closeby li {
    display: inline-block;
    padding-right: 5px;
    padding-bottom: 7px;
    padding-left: 5px;
}

.inner .closeby ul li.first {
    font-weight: bold;
}

.inner .closeby ul li.none {
    padding-right: 0;
    padding-left: 0;
}

.inner .closeby ul li::after {
    position: relative;
    left: 8px;
    display: inline-block;
    color: #333;
    content: '|';
}

.inner .closeby ul li:first-child::after {
    position: relative;
    left: 8px;
    display: inline-block;
    color: #1976d2;
    content: '||';
}

.inner .closeby ul li:last-child::after {
    position: relative;
    display: inline-block;
    content: '';
}

.inner .closeby li a {
    color: #333;
    padding-bottom: 0;
}

.inner .closeby ul li:first-child a {
    color: #1976d2;
}

.pagination_menu.second {
    margin-top: 15px;
    margin-bottom: 20px;
}

.pagination_menu p.count {
    display: inline-block;
    color: #222;
    vertical-align: middle;
}

.pagination_menu p.count span {
    font-size: 20px;
    font-weight: bold;
    color: #f44336;
}

.pagination_menu ul.pagination {
    display: inline-block;
    float: right;
    vertical-align: middle;
}

.pagination_menu ul.pagination li {
    display: inline-block;
    vertical-align: top;
}

.pagination_menu ul.pagination li a {
    text-decoration: none;
}

.pagination_menu ul.pagination li a p {
    width: 28px;
    height: 29px;
    line-height: 31px;
    text-align: center;
    background: url(../images/fuzoku/btn_def.png) center center no-repeat;
}

.pagination_menu ul.pagination li a p.sel {
    color: #fff;
    background: url(../images/fuzoku/btn_sel-bff78c41c8bb1ee76176943431e82e4e.png) center center no-repeat;
}

.pagination_menu .pager {
    float: right;
    padding: 0;
}

.pagination_menu .pager li {
    display: inline-block;
    vertical-align: middle;
}

.pagination_menu .pager .pager-rela.pager-to-first p::after {
    background: url(../images/fuzoku/btn_arrow_begin-5a9c984e4493aedd2a585f48b14bb7e0.png) no-repeat;
}

.pagination_menu .pager .pager-rela.pager-prev p::after {
    background: url(../images/fuzoku/btn_arrow_prev-5822dbefac06076d49c6436f6d9544e8.png) no-repeat;
}

.pagination_menu .pager .pager-rela.pager-next p::after {
    background: url(../images/fuzoku/btn_arrow_next-f05fa84963021e46f1ef9813de84bfaf.png) no-repeat;
}

.pagination_menu .pager .pager-rela.pager-to-the-end p::after {
    background: url(../images/fuzoku/btn_arrow_end-e1f90a44c0c063b437224adde81f8095.png) no-repeat;
}

.pagination_menu .pager li.number a {
    display: inline-block;
    width: 28px;
    height: 26px;
    color: #111;
    text-align: center;
    padding-top: 3px;
    background: url(../images/pages/article/pager-bk_off-3140e141407c9dcbca241b42a8b38544.jpg) no-repeat;
}

.pagination_menu .pager li.number a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.pagination_menu .pager li.active a {
    color: #fff;
    background: url(../images/fuzoku/btn_sel-bff78c41c8bb1ee76176943431e82e4e.png) center center no-repeat;
}

/*  shop_common
--------------------------------------------------------------*/
.shop_common .shop_content {
    position: relative;
    padding: 20px;
    padding-bottom: 50px;
    box-shadow: 0 0 20px #ede9ea;
}

.shop_content .inner {
    /* 自由入力欄対策 */
    width: auto;
}

.shop_content .qr {
    width: 41px;
    height: 41px;
}

.shop_content .ttl {
    line-height: 60px;
    padding-left: 50px;
    background-color: #fdecf1;
    background-repeat: no-repeat;
    background-position: 15px;
    border-bottom: 4px solid #ec407a;
}

.shop_content .content_box {
    padding: 20px;
    background-color: #f8f6f4;
}

.shop_content .content {
    text-align: left;
    padding: 20px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 7px;
}

/* ==============================================================
お店TOP(店舗下層サイドバーも含める)
==============================================================*/
.shop_content .sidebar {
    display: inline-block;
    width: 280px;
    padding-bottom: 10px;
    vertical-align: top;
}

.shop_content .sidebar .top {
    width: 260px;
    margin-bottom: 15px;
    padding: 10px;
    background-color: #2b2f33;
}

.shop_content .sidebar .top .img {
    height: auto;
    text-align: center;
    margin-bottom: 10px;
}

.shop_content .sidebar .top .img img {
    max-width: 260px;
    max-height: 346px;
    margin: auto;
}

.shop_content .sidebar .top .content {
    text-align: center;
    padding: 0;
    background-color: #2b2f33;
    border: none;
}

.shop_header_box {
    text-align: center;
    margin-top: 0;
    margin-bottom: 10px;
    padding: 6px;
    background: #494e54 url(../images/fuzoku/shop/top/bg_01-cba625b17bdc4923806b71c4273cab07.jpg) top center no-repeat;
    border: 1px solid #606973;
}

.shop_header_box .place {
    font-size: 13px;
    color: #bfbfbf;
    padding-top: 5px;
}

.shop_header_box .mark.yg-supporter {
    width: 100px;
    color: #fff;
    margin: 0 auto;
    margin-top: 5px;
    background-color: #ec407a;
    border-radius: 4px;
}

.shop_content .sidebar .top .content img.btn1 {
    margin-bottom: 5px;
}

.shop_content .sidebar .top .content img.btn2 {
    margin-bottom: 5px;
}

/* 店舗情報 */
.sidebar .shop_info {
    font-size: 14px;
    color: #fff;
}

.sidebar .shop_info .data_txt {
    line-height: 1.4;
    text-align: left;
    margin-top: 6px;
    word-break: break-all;
}

.sidebar .shop_info .data_lbl {
    display: inline-block;
    font-weight: bold;
    color: #ec407a;
    padding-left: 20px;
    background-repeat: no-repeat;
    background-position: -2px 0;
}

.sidebar .addr .data_lbl {
    background-image: url(../images/fuzoku/girl/top/icon_02-a9f3dde9b31666f0c4da1ba5c1c276f6.png);
}

.sidebar .acc .data_lbl {
    background-image: url(../images/fuzoku/girl/top/icon_03-bcd026c61bf2f295d9ff1e3e5bd4aa03.png);
}

.sidebar .area .data_lbl {
    background-image: url(../images/fuzoku/girl/top/icon_06-7681e8d98b7fdac5bbbdb6909452859e.png);
}

.sidebar .price .data_lbl {
    background-image: url(../images/fuzoku/shop/top/ico_01-6792cc5d59cf6709fe3668658719d4db.png);
    background-position: 2px 2px;
}

.sidebar .hours .data_lbl {
    background-image: url(../images/fuzoku/girl/top/icon_01-0353264f8daa959b8f75adc325297abb.png);
}

.sidebar .data_txt.tel {
    text-align: center;
}

.sidebar .tel .data_lbl {
    font-size: 26px;
    color: #fff;
    padding-left: 24px;
    background-image: url(../images/fuzoku/shop/top/ico_03-b5c9fd22be17af0f0e8b3eff1397b9f4.png);
    background-position: 2px 8px;
}

.sidebar .tel .note {
    font-size: 11px;
    color: #333;
    text-align: center;
    background-color: #eee;
    border-radius: 4px;
}

/* 固定表示 */
.js_sidebar_base {
    position: relative;
}

.js_fix_tgt.js_fixed {
    position: fixed;
    top: 55px;
    z-index: 10;
}

.js_fix_tgt.js_fixed, .js_fix_tgt.js_fixed .js_fix_hide {
    display: none;
}

/* 店紹介文 */
.shop_intro {
    margin-top: 10px;
    padding-top: 7px;
    border-top: 1px dashed #6b6e71;
}

.shop_content .sidebar .top h2 {
    font-size: 19px;
    font-weight: normal;
    color: #fff;
    text-align: left;
    padding-bottom: 6px;
}

.shop_content .sidebar .desc {
    font-size: 12px;
    color: #fff;
    text-align: left;
}

.shop_content .sidebar .newface {
    text-align: center;
    margin-bottom: 15px;
    padding: 10px;
    background-color: #eb5388;
    background-image: linear-gradient(-45deg, #eb5388 25%, #ed407a 25%, #ed407a 50%, #eb5388 50%, #eb5388 75%, #ed407a 75%, #ed407a);
    background-repeat: repeat;
    background-size: 30px 30px;
}

.shop_content .sidebar .newface h2 img {
    padding-bottom: 10px;
}

.shop_content .sidebar .newface .box {
    padding: 4px;
    background-color: #fff;
}

/* サイドバー：NEWFACE */
.shop_content .sidebar .newface .img {
    background-color: #ffcedd;
}

.shop_content .sidebar .newface .img a {
    display: block;
    max-width: 200px;
    max-height: 266px;
    margin: auto;
}

.shop_content .sidebar .newface .img img {
    max-width: 100%;
    max-height: 258px;
    margin: 4px auto;
}

.shop_content .sidebar .newface .number {
    color: #ec407a;
    padding-top: 8px;
    padding-bottom: 1px;
    background-color: #ffeaf1;
}

.shop_content .sidebar .newface .name {
    font-weight: bold;
    color: #005fc0;
    background-color: #ffeaf1;
}

.shop_content .sidebar .newface .size {
    font-size: 13px;
    padding-bottom: 5px;
    background-color: #ffeaf1;
}

.shop_content .sidebar .newface .btn {
    padding-top: 10px;
    padding-bottom: 0;
}

/* サイドバー：プライベート日記 */
.shop_content .sidebar .diary {
    margin-bottom: 15px;
    padding: 4px;
    background-color: #ffe8f0;
    border: 1px solid #e6b8b8;
}

.shop_content .sidebar .diary .icon {
    position: relative;
    top: 6px;
    left: -11px;
    margin-bottom: -10px;
}

.shop_content .sidebar .diary h2 {
    font-size: 17px;
    text-align: center;
    margin-top: -14px;
    margin-bottom: 15px;
    margin-left: 20px;
    letter-spacing: 4px;
}

.shop_content .sidebar .diary li {
    margin-bottom: 5px;
    padding: 10px;
    background-color: #fff;
    border-bottom: 1px solid #e6d1d8;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.shop_content .sidebar .diary .photo {
    width: 60px;
}

.shop_content .sidebar .diary li {
    display: flex;
    text-align: center;
}

.shop_content .sidebar .diary .img {
    position: relative;
    width: 60px;
    height: 80px;
    text-align: center;
    background-color: #ffe8f0;
    overflow-y: hidden;
    vertical-align: top;
    flex: 0 0 60px;
}

.shop_content .sidebar .diary .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    height: auto;
    margin: auto;
}

.shop_content .sidebar .diary .details {
    text-align: left;
    padding: 0 6px;
    overflow: hidden;
    flex: 1 1 auto;
}

/* サイドバー：動画 */
.shop_content .sidebar .video {
    margin-bottom: 15px;
    padding: 4px;
    background-color: #ffe8f0;
    border: 1px solid #e6b8b8;
}

.shop_content .sidebar .video .icon {
    position: relative;
    top: 6px;
    left: -11px;
    margin-bottom: -10px;
}

.shop_content .sidebar .video h2 {
    font-size: 17px;
    text-align: center;
    margin-top: -14px;
    margin-bottom: 15px;
    margin-left: 10px;
    letter-spacing: 4px;
}

.shop_content .sidebar .video li {
    margin-bottom: 5px;
    padding: 10px;
    background-color: #fff;
    border-bottom: 1px solid #e6d1d8;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.shop_content .sidebar .video .photo {
    width: 100%;
}

.shop_content .sidebar .video .img {
    position: relative;
    width: 192px;
    height: 108px;
    text-align: center;
    margin: 0 auto 5px;
    background-color: #000;
}

.shop_content .sidebar .video li img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

/* 再生時間 */
.shop_content .sidebar .video .time {
    position: absolute;
    right: 5px;
    bottom: 5px;
    font-size: 12px;
    line-height: 1;
    color: #fff;
    margin: 0;
    text-shadow: 0 0 2px #111;
}

.shop_content .sidebar .video .img > a:first-of-type::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 31px;
    height: 31px;
    margin: auto;
    content: url(../images/common/movie_icon2-7ffc3fb0800694a828dbd5eb9d1d0ce7.png);
}

.shop_content .sidebar .video .desc {
    font-size: 13px;
    text-align: center;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* サイドバー：日記・動画共通 */
.shop_content .sidebar .date {
    font-size: 13px;
    color: #111;
}

.shop_content .sidebar .name {
    font-size: 14px;
    line-height: 20px;
    color: #ec407a;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    word-break: break-all;
}

.shop_content .sidebar .title, .shop_content .sidebar .name {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    word-break: break-all;
}

/* サイドバー：店名 */
.shop_content .shop_header_box > .name {
    font-size: 20px;
    font-weight: bold;
    line-height: 20px;
    color: #fff;
    text-align: center;
    padding-top: 5px;
    white-space: normal;
}

/* サイドバー：夜ガイニュース */
.shop_content .sidebar .news_ttl {
    font-size: 15px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    background-color: #29314c;
}

.shop_content .sidebar .news {
    padding: 8px;
    border: 2px solid #dbdbdb;
    border-top: none;
}

.shop_content .sidebar .news .time {
    font-size: 13px;
    color: #111;
}

.shop_content .sidebar .news .desc {
    font-size: 15px;
    color: #005fc0;
    word-break: break-all;
}

/* もっと見る */
.shop_content .sidebar .video > a, .shop_content .sidebar .diary > a {
    display: block;
    text-align: center;
    margin: auto;
}

/* --------------------------------------- */
.shop_common .main_content {
    display: inline-block;
    width: 740px;
    margin-left: 14px;
    vertical-align: top;
}

.shop_common .main_content .slider {
    margin-bottom: 25px;
    padding-bottom: 10px;
    background: url(../images/fuzoku/shop/top/bg_05-0abf874ff8832d6b81e819495c162bdc.jpg) top center no-repeat;
}

.shop_common .recommend_hl {
    position: relative;
    height: 54px;
    font-size: 20px;
    line-height: 54px;
    color: #fff;
    padding-left: 16px;
}

.shop_common .recommend_btn {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    display: block;
    height: 30px;
    font-size: 12px;
    margin: auto;
    padding: 2px;
    background-color: #fcf1ca;
    background-image: linear-gradient(to bottom, #fcf1ca 30%, #8e6a1c 50%, #fcf1ca 70%);
    border-radius: 4px;
    box-sizing: border-box;
    text-decoration: none;;
}

.shop_common .recommend_btn .lbl {
    height: 26px;
    line-height: 26px;
    color: #333;
    padding-right: 18px;
    padding-left: 14px;
    background-color: #ffd24d;
    background-image: linear-gradient(to bottom, #fdf9e1 1%, #ffd24d 70%, #e8bb54 100%);
    border-radius: 2px;
    box-shadow: 0 -1px 2px rgb(140, 105, 27, 0.4) inset;
}

.shop_common .recommend_btn .mark {
    position: relative;
    top: 1px;
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-right: 4px;
    background-color: #503117;
    border-radius: 50%;
}

.shop_common .recommend_btn .mark::after {
    position: absolute;
    top: 3px;
    left: 5px;
    width: 0;
    height: 0;
    margin: auto;
    border-width: 3px 0 3px 4px;
    border-style: solid;
    border-color: transparent transparent transparent #fcf1ca;
    content: '';
}

.shop_common .recommend_gal > li:first-child {
    margin-left: 0;
}

.shop_common .slider .box {
    height: 205px;
    margin: 0 10px;
    padding: 10px;
    background-color: #fff;
    border-radius: 7px;
}

.shop_common .slider .bx-prev, .shop_common .slider .bx-next {
    position: absolute;
    top: 80px;
    z-index: 2;
    float: left;
    width: 30px;
    height: 30px;
    margin-bottom: -30px;
    background-repeat: no-repeat;
    overflow: hidden;
    cursor: pointer;
    white-space: nowrap;
    text-indent: 110%;
}

.shop_common .slider .bx-prev {
    left: -30px;
    background-image: url(../images/fuzoku/shop/top/btn_prev-0fe0a5e671954dc6ed8f9406d0d0f355.png);
}

.shop_common .slider .bx-next {
    right: -30px;
    background-image: url(../images/fuzoku/shop/top/btn_next-b32ea4e4a799b926c81343557f492275.png);
}

.shop_common .slider li {
    position: relative;
    width: 132px;
    height: 210px;
    text-align: center;
    margin-left: 10px;
}

.shop_common .bx-viewport li {
    margin-left: 0;
}

.shop_common .bx-wrapper .bx-viewport {
    margin-left: 0;
}

.shop_common .recommend_gal p {
    font-size: 13px;
    font-weight: bold;
    padding-top: 5px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.shop_common .slider .shop_bxslider_img {
    position: relative;
    width: 134px;
    height: 180px;
    text-align: center;
}

.shop_common .slider .shop_bxslider_img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 132px;
    max-height: 100%;
    margin: auto;
}

.job_btn-list {
    display: flex;
    margin-top: 10px;
    justify-content: space-between;
}

.job_btn-list li {
    text-align: center;
    flex: 1;
}

.job_btn-list li + li {
    margin-left: 4px;
}

.job_btn-list .woman, .job_btn-list .man {
    position: relative;
    display: block;
    height: 40px;
    background: #fff;
    border-radius: 6px;
    box-sizing: border-box;
}

.job_btn-list .woman {
    border: 1px solid #ff76ac;
    box-shadow: 0 2px 0 #ff76ac;
}

.job_btn-list .man {
    border: 1px solid #7780fc;
    box-shadow: 0 2px 0 #7780fc;
}

.job_btn-list img {
    position: absolute;
    top: -1px;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}

/* --------------------------------------- */
/* 店TOP：業界最高割引 */
.shop_common .discount_items {
    text-align: center;
    margin-bottom: 20px;
}

/* 店TOP：業界最高割引 中枠 */
.shop_common .discount_items li {
    display: inline-block;
    width: 360px;
    height: 288px;
    margin: 3px;
    background-color: #fff;
    border-radius: 7px;
    overflow: hidden;
    vertical-align: top;
    box-shadow: 0 0 3px 1px #ccc;
}

.shop_common .discount_items a {
    display: block;
    text-decoration: none;
}

/* 店舗ページ：業界最高割引 割引種別 */
.shop_common .discount_items h2 {
    background-color: #e4f0f7;
}

.shop_common .discount_items h2.disc2 {
    background-color: #e1f4e1;
}

/* 店舗ページ：業界最高割引 PR文 */
.shop_common .discount_items .title {
    display: block;
    font-size: 16px;
    font-weight: bold;
    margin: 15px auto;
    padding: 0 14px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* 店舗ページ：業界最高割引 割引額 */
.shop_common .discount_items .discount_value {
    height: 100px;
    font-weight: bold;
    color: #333;
    margin: 0 auto;
    margin-bottom: 15px;
    padding-top: 16px;
    background: url(../images/fuzoku/shop/discount_bg_medium-c593a2efa94c058d276f5ec127e5f0a2.jpg) top center no-repeat;
    box-sizing: border-box;
}

.shop_common .discount_items .discount_value.price_default {
    font-size: 24px;
}

/* 店舗ページ：業界最高割引 もっと見るボタン */
.shop_common .discount_items .btn {
    text-decoration: none;
}

.shop_common .discount_items .btn p {
    width: 310px;
    height: 42px;
    font-weight: bold;
    line-height: 40px;
    color: #000;
    margin: 0 auto;
    background: url(../images/fuzoku/shop/discount_btn_bg-c9d1ede7d2157133f2dafac80208e9f7.png) top left no-repeat;
}

.shop_common .discount_items .btn p::before {
    position: relative;
    top: 12px;
    left: 40px;
    display: block;
    width: 14px;
    height: 15px;
    margin-bottom: -14px;
    background: url(../images/fuzoku/shop/ico_01-7f39db5853aa9c8e9706526336b753cc.png) top left no-repeat;
    content: ' ';
}

.shop_common .discount_items .btn.btn2 p::before {
    position: relative;
    top: 12px;
    left: 53px;
    display: block;
    width: 14px;
    height: 15px;
    margin-bottom: -14px;
    background: url(../images/fuzoku/shop/ico_02-d312aee0bc185871fb9b7ddfebe79f15.png) top left no-repeat;
    content: ' ';
}

/* --------------------------------------- */
/* 店舗ページ 店舗情報 */
.shop_common .main_content .shop .details .item:last-child {
    margin-bottom: 0;
}

.shop_common .main_content .immediate h2 {
    color: #ec407a;
}

.shop_common .main_content .immediate h2 img {
    top: -14px !important;
    padding-right: 25px;
}

.shop_common .main_content .immediate ul {
    display: -webkit-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
}

.shop_common .main_content .immediate li {
    width: 142px;
    min-height: 207px;
    text-align: center;
    margin-right: 6px;
    margin-bottom: 10px;
}

.shop_common .main_content .immediate ul li:last-child, .shop_common .main_content .immediate ul li:nth-child(5n) {
    margin-right: 0;
}

.shop_common .main_content .immediate li .img a {
    position: relative;
    display: block;
    width: 142px;
    height: 189px;
    text-align: center;
}

.shop_common .main_content .immediate li .img a img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
    background-color: #000;
}

.shop_common .main_content .immediate li p {
    font-size: 13px;
    font-weight: bold;
    padding-top: 4px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.shop_common .main_content .attendance h2 {
    color: #ec407a;
}

.shop_common .main_content .attendance h2 img {
    top: -17px !important;
    padding-right: 25px;
}

.shop_common .main_content .attendance ul {
    display: flex;
    flex-wrap: wrap;
}

.shop_common .main_content .attendance li {
    width: 142px;
    min-height: 207px;
    text-align: center;
    margin-right: 7px;
    margin-bottom: 8px;
}

.shop_common .main_content .attendance ul li:last-child, .shop_common .main_content .attendance ul li:nth-child(5n) {
    margin-right: 0;
}

.shop_common .main_content .attendance li .img a {
    position: relative;
    display: block;
    width: 142px;
    height: 189px;
    text-align: center;
}

.shop_common .main_content .attendance li .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.shop_common .main_content .attendance li p {
    font-size: 13px;
    font-weight: bold;
    padding-top: 4px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.shop_common .main_content .header_btn h2 {
    line-height: 54px;
    background: #fff url(../images/fuzoku/shop/top/bg_04-0aec620383fbfa46b6545306a25ba058.jpg) bottom left repeat-x;
    border-top: 3px solid #ec407a;
    border-bottom: 2px solid #e5e5e5;
}

.shop_common .main_content .header_btn h2 img {
    position: relative;
    top: -13px;
    left: 20px;
}

.shop_common .header_btn > a .btn {
    position: relative;
    top: 15px;
    right: 10px;
    float: right;
}

/* おすすめバナー */
.shop_common .shop_dx-banner {
    text-align: center;
    margin-bottom: 20px;
}

.shop_common .shop_dx-banner img {
    max-width: 100%;
}

.shop_common .shop_recommend {
    text-align: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    background-color: #f5f1ed;
}

.shop_common .shop_recommend h2 {
    line-height: 46px;
    color: #fff;
    text-align: left;
    margin-top: 25px;
    margin-bottom: 15px;
    padding-left: 20px;
    background-color: #ec407a;
}

.shop_common .shop_recommend .btn {
    position: relative;
    font-weight: bold;
    line-height: 53px;
    color: #005fc0;
    text-align: left;
    margin: 8px 12px 0;
    padding: 0 30px 0 20px;
    background-color: #fff;
    border-radius: 5px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    box-shadow: 0 3px #eee;
}

.shop_common .shop_recommend .btn::after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 10px;
    height: 15px;
    margin-top: -5px;
    margin-right: 15px;
    background: url(../images/fuzoku/shop/top/btn_12_arrow-cd9ae7c8714295829a60fc7469327afe.png) center right no-repeat;
    content: '';
}

.shop_common .main_content .pr {
    margin-bottom: 20px;
    padding: 10px;
}

.shop_common .main_content .pr-h2 {
    line-height: 46px;
    color: #603c37;
    text-align: left;
    padding-left: 20px;
    background-color: #ffc0cb;
}

.shop_common .pr_content img {
    max-width: 100%;
    height: auto !important;
}

.shop_common .main_content .shop .area_map {
    padding: 4px;
    border: 1px solid #e6e6e6;
}

.shop_common .main_content .shop {
    margin-bottom: 20px;
    padding-top: 15px;
    background: url(../images/fuzoku/girl/common_bg_03-f6f30f305dcaf69cc37a178218bd377a.jpg) top left repeat-x;
    border-top: 3px solid #ec407a;
}

.shop_common .box_tel_info {
    position: relative;
    width: 250px;
    height: 74px;
    font-size: 21px;
    color: #fff;
    background-color: #2a2e32;
    border-radius: 6px;
}

.shop_common .box_tel_info::before {
    position: absolute;
    top: 5px;
    right: 5px;
    bottom: 5px;
    left: 5px;
    z-index: 0;
    display: block;
    background-color: #484d53;
    border: 1px solid #5f6872;
    border-radius: 6px;
    content: '';
}

.shop_common .box_tel_info .note {
    position: absolute;
    top: 10px;
    right: 0;
    left: 0;
    z-index: 1;
    font-size: 12px;
    text-align: center;
    margin: auto;
}

.shop_common .box_tel_info .icon {
    margin-right: 2px;
    vertical-align: middle;
}

.shop_common .box_tel_info .num {
    position: absolute;
    top: 32px;
    right: 0;
    left: 0;
    z-index: 1;
    text-align: center;
    margin: auto;
}

.shop_common .main_content .shop h2.name {
    padding: 0 20px;
}

.shop_common .main_content .shop p.name_sub {
    color: #666;
    padding-left: 20px;
}

.shop_common .main_content .shop .desc h3 {
    font-size: 16px;
    color: #ec407a;
}

.shop_common .main_content .shop .details {
    display: flex;
    margin-top: 16px;
    margin-bottom: 20px;
    padding: 12px;
    background-color: #f8f6f4;
}

.shop_common .main_content .shop .details .item .name {
    font-size: 14px;
    font-weight: bold;
    padding-left: 30px;
    flex: 0 0 100px;
}

.item_detail_wrap {
    flex: 1;
}

.shop_common .main_content .shop .details .item .name.time {
    background: url(../images/fuzoku/girl/top/icon_01-0353264f8daa959b8f75adc325297abb.png) top left no-repeat;
    vertical-align: top;
}

.shop_common .main_content .shop .details .item .name.addr {
    background: url(../images/fuzoku/girl/top/icon_02-a9f3dde9b31666f0c4da1ba5c1c276f6.png) top left no-repeat;
    vertical-align: top;
}

.shop_common .main_content .shop .details .item .name.acc {
    background: url(../images/fuzoku/girl/top/icon_03-bcd026c61bf2f295d9ff1e3e5bd4aa03.png) top left no-repeat;
    vertical-align: top;
}

.shop_common .main_content .shop .details .item .name.deriarea {
    background: url(../images/fuzoku/girl/top/icon_06-7681e8d98b7fdac5bbbdb6909452859e.png) top left no-repeat;
    vertical-align: top;
}

.shop_common .main_content .shop .details .item .name.service {
    background: url(../images/fuzoku/girl/top/icon_04-dbb1b2939ad29f429b3ac43adc6c39f2.png) center left no-repeat;
    vertical-align: top;
}

.shop_common .main_content .shop .details .item .name.genre {
    background: url(../images/fuzoku/girl/top/icon_05-a6528e09cb5a325866344efdc8d975ae.png) center left no-repeat;
    vertical-align: top;
}

.shop_common .main_content .part11 {
    position: relative;
}

.shop_common .main_content .part11 img.btn {
    position: absolute;
    top: 80px;
    left: 300px;
}

/*店長の緊急メッセージ
--------------------------------------------------------*/
.shop_common .message h2 img {
    top: -16px !important;
    padding-right: 25px;
}

.shop_common .message .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.shop_common .message .details .time {
    display: inline-block;
    font-size: 14px;
    color: #666;
    vertical-align: top;
}

.shop_common .message .details ul {
    display: inline-block;
    vertical-align: top;
}

.shop_common .message .details li {
    display: inline-block;
    height: 20px;
    font-size: 13px;
    font-weight: bold;
    line-height: 20px;
    color: #fff;
    padding: 0 6px;
    border-width: 1px;
    border-style: solid;
    border-radius: 5px;
    vertical-align: top;
}

.shop_common .message .details .title {
    font-size: 19px;
    font-weight: bold;
    padding-top: 9px;
    padding-bottom: 7px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.shop_common .message .details .desc {
    font-size: 14px;
}

.shop_common .message .details .link {
    text-align: right;
    padding-top: 10px;
}

.shop_common .message {
    margin-bottom: 20px;
    padding-bottom: 2px;
    background-color: #edf0f2;
}

.shop_common .frame_message {
    margin: 4px 6px;
    padding: 6px;
    background-color: #fff;
    overflow: hidden;
}

.shop_common .message .img {
    position: relative;
    display: block;
    float: left;
    width: 150px;
    height: 200px;
    text-align: center;
    margin-right: 10px;
    vertical-align: top;
}

.shop_common .message .details {
    display: block;
    width: auto;
    padding: 6px;
    vertical-align: top;
}

.shop_common .message .details .link {
    text-align: right;
    padding-top: 4px;
}

.shop_common .message .details .link a::before {
    content: '>>';
}

/* 店舗情報 */
.shop_common .main_content .shop .details .item .desc {
    font-size: 14px;
    margin-left: 20px;
    padding-top: 0;
    flex: 1 1 100%;
}

.shop_common .main_content .shop .details .item {
    display: flex;
    line-height: 21px;
    margin-bottom: 6px;
    align-items: flex-start;
}

.shop_common .map_link {
    display: inline-block;
}

/* 求人情報 画像のない場合 */
.store_job {
    margin-bottom: 20px !important;
}

.store_job .job_detail {
    display: -webkit-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: stretch;
}

.store_job h3 {
    display: flex;
    font-size: 16px;
    text-align: left;
    margin-top: 10px;
    margin-bottom: 8px;
    padding: 8px;
    background-color: #ffdde7;
    justify-content: space-between;
    align-items: center;
}

.store_job h3 > a {
    width: 150px;
    font-size: 13px;
    font-weight: normal;
    color: #fff;
    text-align: center;
    padding: 4px;
    background-color: #ec407f;
    border-radius: 4px;
}

.store_job h3 > a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.store_job .txt_detaillink {
    font-size: 13.5px;
}

.store_job .job_text {
    max-width: 677px;
    font-weight: bold;
    color: #ec407a;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.store_job .job_img {
    max-width: 348px;
    max-height: 150px;
}

.store_job table {
    font-size: 13px;
    border: 1px solid #f9c7d8;
}

.store_job tr {
    border-bottom: 1px solid #f9c7d8;
}

.store_job th {
    width: 72px;
    color: #ec407a;
    padding: 4px;
    background-color: #fff0f5;
}

.store_job td {
    max-width: 0;
    padding: 8px;
    word-break: break-all;
}

.job_detail .info {
    width: 100%;
}

.store_job .txt_detaillink {
    margin-bottom: 8px;
}

.job_detail .img_box {
    margin-right: 10px;
}

.store_job .job_access {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/*男性求人*/
.store_job.man h3 {
    background-color: #ddebff;
}

.store_job.man .job_text {
    color: #5158e8;
}

.store_job.man table {
    border: 1px solid #c7cdf9;
}

.store_job.man tr {
    border-bottom: 1px solid #c8cdf9;
}

.store_job.man th {
    color: #3b40b7;
    background-color: #ecf3ff;
}

.store_job.man h3 > a {
    background-color: #5158e8;
}

/*店舗TOP 最後の要素には余白つけない*/
.shop_common .main_content section:last-child {
    margin-bottom: 0 !important;
}

/*--------------------------------------------------------------
店舗：店長の緊急メッセージ(shop_message)
--------------------------------------------------------------*/
.shop_message .shop_content h2.ttl {
    background: #fdecf1 url(../images/fuzoku/shop/message/ico_01-5f26f402a55e96f1efd4458d4dc2547d.png) left center no-repeat;
    background-position: 15px;
}

.shop_message .main_hl {
    font-size: 20px;
    text-align: left;
    margin-bottom: 20px;
    padding-bottom: 8px;
    border-bottom: 1px solid #ccc;
}

.shop_message .time {
    display: inline-block;
    font-size: 14px;
    font-weight: normal;
    color: #888;
}

.shop_message .cat {
    display: inline-block;
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    margin-left: 5px;
    padding: 0 6px;
    border-width: 1px;
    border-style: solid;
    border-radius: 3px;
    vertical-align: middle;
}

.shop_message .content_box img {
    max-width: 100%;
    height: auto !important;
}

/* --------------------------------------------------------------
店舗：業界最高割引（shop_discount）
--------------------------------------------------------------*/
.shop_discount .shop_content h2.ttl {
    line-height: 59px;
    background-image: url(../images/fuzoku/shop/discount/ico_01-b1f15dd2fccb1d1289eefc6927715123.png);
    background-position: 15px;
    border-right: left center;
}

.shop_discount .shop_content .print {
    float: left;
}

.shop_discount .shop_content h2 span.date {
    display: inline-block;
    font-size: 17px;
    font-weight: normal;
    padding-right: 15px;
    padding-left: 15px;
    vertical-align: middle;
}

.shop_discount .shop_content h2 span.date span {
    color: #ec1f30;
}

.shop_discount .shop_content h2 img.print {
    position: relative;
    top: 10px;
    right: 12px;
    float: right;
}

.shop_discount h2 .qr {
    position: relative;
    top: 2px;
    right: 2px;
    float: right;
    width: 57px;
    height: 57px;
}

.shop_discount .shop_content .discount {
    padding: 0;
}

.shop_discount .part1, .shop_discount .part2 {
    display: inline-block;
    text-align: left;
    box-sizing: border-box;
    vertical-align: top;
}

.shop_discount .part1 {
    width: 375px;
    padding: 30px 25px 20px;
    border-right: 1px dashed #ccc;
}

.shop_discount .part1 p {
    width: 310px;
    color: #f52011;
    text-align: center;
    margin: 10px 0;
    padding: 2px 0;
    border: 1px solid #f52011;
    border-radius: 6px;
}

.shop_discount .part2 {
    width: 620px;
    padding: 16px 24px 16px 24px;
}

/* 店舗＞業界最高割詳細：外枠 */
.shop_discount .shop_content .discount {
    display: -webkit-flex;
    display: flex;
}

/* 店舗＞業界最高割詳細：割引種別 */
.shop_discount .shop_content .discount1 {
    margin-bottom: 20px;
    border-width: 2px;
    border-color: #ec407a;
}

.shop_discount .shop_content .discount2 {
    border-width: 2px;
    border-color: #7aba2f;
}

/* 店舗＞業界最高割詳細：PR文 */
.shop_discount .title {
    font-size: 1.5em;
    font-weight: bold;
    margin-bottom: 10px;
}

.shop_discount .part2 img {
    padding-top: 20px;
}

/* 店舗＞業界最高割詳細：パーセント表示 */
.shop_discount .text_box .discount_percent {
    top: 4px;
    left: 40px;
}

/* 店舗＞業界最高割詳細：特記事項 */
.shop_discount .border .scrollbar {
    height: auto;
}

/* 店舗＞業界最高割詳細：割引内容枠 */
/* ※いずれclearfixからprice-tag_frameに変更 */
.shop_discount .price-tag_frame, .shop_discount .text_box > .clearfix {
    position: relative;
    padding: 3px;
    background-color: #ffffd6;
    border: 2px solid #ffe059;
    box-sizing: border-box;
    text-decoration: none;
}

.shop_discount .price-tag_frame + .border {
    margin-top: 20px;
}

.shop_discount .price02, .shop_discount .price02.price_default {
    width: 100%;
    height: 107px;
}

.shop_discount .price02 {
    line-height: 40px;
    padding-left: 198px;
}

.shop_discount .price02.price_default {
    padding-top: 18px;
    padding-left: 81px;
}

.shop_discount .price02.price_default {
    background-position: 40px 4px, center;
}

/* 店舗＞業界最高割詳細：内容 */
.shop_discount .text_box .price01 {
    font-size: 18px;
    line-height: 1.2;
    margin-bottom: 6px;
}

.shop_discount .text_box .num {
    font-size: 40px;
}

.shop_discount .discount_percent .num {
    font-size: 26px;
}

.shop_discount .txt_free {
    font-size: 28px;
}

.shop_discount .txt_free:first-of-type:last-of-type {
    font-size: 32px;
}

/*--------------------------------------------------------------
料金（shop_price）
--------------------------------------------------------------*/
.shop_price .shop_content h2.ttl {
    background: #fdecf1 url(../images/fuzoku/shop/price/ico_01-0a3947454a25be69423e123350ae406b.png) left center no-repeat;
    background-position: 15px;
}

.creditcard h3 {
    color: #ed4b83;
    text-align: left;
    margin: 50px 0 16px;
    padding: 1px 8px;
    background-color: #ffeaf1;
}

.creditcard ul {
    font-size: 0;
    text-align: left;
}

.creditcard li {
    display: inline-block;
    margin-left: 10px;
}

.creditcard li img {
    width: 45px;
}

.creditcard p {
    font-size: 14px;
    text-align: left;
}

/*--------------------------------------------------------------
店舗：割引(shop_waribiki)
--------------------------------------------------------------*/
.shop_waribiki .shop_content h2.ttl {
    background: #fdecf1 url(../images/fuzoku/shop/waribiki/ico_01-9d4d7f4978279a9158437332d81f273e.png) left center no-repeat;
    background-position: 15px;
}

.shop_waribiki .fixed_txt {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 18px;
    padding: 8px;
    background-color: #fcffda;
}

/*--------------------------------------------------------------
店舗：イベント(shop_event)
--------------------------------------------------------------*/
.shop_event .shop_content .ttl {
    background: #fdecf1 url(../images/fuzoku/shop/event/ico_01-76ac604fb5eff784de8ade07ca59ac60.png) left center no-repeat;
    background-position: 15px;
}

.shop_event .main_hl {
    font-size: 20px;
    text-align: left;
    margin-bottom: 20px;
    padding-bottom: 8px;
    border-bottom: 1px solid #ccc;
}

.shop_event .term {
    font-size: 14px;
    color: #dd1d00;
}

/*--------------------------------------------------------------
店舗：お店情報・アクセス(shop-acc)
--------------------------------------------------------------*/
.shop-acc h2.ttl {
    background-color: #fdecf1;
    background-image: url(../images/pages/before-bg/ico_acc-93853bd24ad49fa169ca9cd697725731.png);
    background-repeat: no-repeat;
    background-position: 15px;
    border-bottom: none;
}

.link_blanksite::after {
    position: relative;
    bottom: -0.16em;
    margin-left: 0.3em;
    content: url(../images/fuzoku/shop/new_window.png);
}

/*--------------------------------------------------------------
店舗：プライベート日記 (shop_pdiary)
--------------------------------------------------------------*/
.shop_pdiary .pagination_menu.first {
    margin-top: 20px;
    margin-bottom: 15px;
}

.shop_pdiary .pagination_menu.second {
    margin-top: 0;
}

.shop_pdiary .shop_content h2.ttl {
    background-image: url(../images/fuzoku/shop/pdiary/ico_01-ecda64b097b1b467e0178845a7b6806c.png);
}

.shop_pdiary .content_box {
    margin-bottom: 15px;
    padding: 10px;
}

.shop_pdiary .content {
    margin-bottom: 10px;
}

.shop_pdiary .content_box .label {
    position: relative;
    top: -12px;
    left: -25px;
    z-index: 2;
    float: left;
    margin-right: -91px;
}

.shop_pdiary .content_box .img {
    position: relative;
    display: inline-block;
    width: 183px;
    height: 244px;
    text-align: center;
    vertical-align: top;
}

.shop_pdiary .content_box .main {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.shop_pdiary .side {
    display: inline-block;
    width: 770px;
    margin-left: 10px;
    vertical-align: top;
}

.shop_pdiary .time {
    font-size: 13px;
    color: #000;
}

.shop_pdiary .side h2 {
    font-size: 22px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.shop_pdiary .desc_box {
    margin-top: 2px;
    padding: 3px;
    background-color: #f7f7f7;
    border: 1px solid #b3b3b3;
}

.shop_pdiary .desc {
    padding: 10px;
    background-color: #fff;
}

.shop_pdiary .desc p {
    font-size: 14px;
    line-height: 23px;
    color: #111;
}

.shop_pdiary .desc .link {
    text-align: right;
}

.shop_pdiary .desc a::before {
    content: '>>';
}

.shop_pdiary .girl_img {
    position: relative;
    float: left;
    width: 63px;
    height: 84px;
    text-align: center;
    margin: 7px 10px 0 0;
    background-color: #fff;
}

.shop_pdiary .girl_img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.shop_pdiary .girl_text {
    float: left;
    width: 460px;
    padding: 7px 0 0 0;
}

.shop_pdiary .girl_text .name a {
    font-weight: bold;
    color: #ec407a;
}

/*--------------------------------------------------------------
店舗：動画一覧（shop_video）
--------------------------------------------------------------*/
.shop_video .pagination_menu.first {
    margin-top: 20px;
    margin-bottom: 15px;
}

.shop_video .pagination_menu.second {
    margin-top: 0;
}

.shop_video h2.ttl {
    background-color: #fdecf1;
    background-image: url(../images/fuzoku/shop/video/ico_01-7cf6ff2ab2676077d63c9ace13089fdc.png);
    background-repeat: no-repeat;
    background-position: 15px;
}

.shop_video .content_box {
    margin-bottom: 20px;
    padding: 10px;
}

.shop_video .content_box .video_list li {
    display: inline-block;
    width: 225px;
    text-align: left;
    margin-right: 5px;
    margin-bottom: 10px;
    padding: 8px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 7px;
    vertical-align: top;
}

.shop_video .content_box .video_list li:nth-child(4n+0) {
    margin-right: 0;
}

.shop_video .content_box .video_list li a {
    display: block;
    width: 224px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.shop_video .content_box .video_list .img {
    position: relative;
    width: 225px;
    height: 126px;
    font-size: 12px;
    text-align: center;
    margin-bottom: 8px;
    background-color: #000;
    overflow: hidden;
}

.shop_video .content_box .video_list .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.shop_video .content_box .video_list .img .time {
    position: absolute;
    right: 5px;
    bottom: 5px;
    line-height: 1;
    color: #fff;
    margin: 0;
    text-shadow: 0 0 2px #111;
}

.shop_video .content_box .video_list li > div a:first-of-type::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 31px;
    height: 31px;
    margin: auto;
    content: url(../images/common/movie_icon2-7ffc3fb0800694a828dbd5eb9d1d0ce7.png);
}

.shop_video .content_box .video_list .time {
    font-size: 12px;
    line-height: 20px;
    color: #111;
}

.shop_video .content_box .video_list .name {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
    color: #005fc0;
    padding-top: 4px;
    clear: both;
    word-wrap: break-word;
    word-break: break-all;
}

.shop_video .movie_cate span:last-child {
    margin: 0;
}

.shop_video .content_box .video_list .bot {
    font-size: 14px;
    font-weight: bold;
    line-height: 20px;
    color: #ec407a;
    margin-top: 6px;
    padding-bottom: 4px;
}

.shop_video .content_box .video_list .bot a {
    color: inherit;
}

/*--------------------------------------------------------------
店舗：本日出勤（shop_syukkin）
--------------------------------------------------------------*/
.shop_syukkin .pagination_menu.first {
    margin-top: 15px;
    margin-bottom: 15px;
}

.shop_syukkin .pagination_menu.second {
    margin-top: 10px;
}

.shop_syukkin .ttl {
    background-image: url(../images/fuzoku/shop/syukkin/ico_01-03b3b581d90c4e5d337a2d77cf269f32.png);
}

.shop_syukkin .look_btn {
    position: relative;
    top: 9px;
    right: 10px;
    float: right;
}

/* 日付切り替えボタン */
.day_navigation {
    font-size: 0;
    font-weight: normal;
    line-height: 1;
    text-align: center;
    margin: 16px auto 24px;
}

.day_navigation li {
    display: inline-block;
    font-size: 15px;
    line-height: 35px;
    margin-right: 10px;
}

.day_navigation a {
    color: #333;
    padding: 11px 18px;
    background-color: #fcfcfc;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-sizing: border-box;
}

.day_navigation .sat {
    color: #2f7ad7;
}

.day_navigation .sun {
    color: #ff1216;
}

.day_navigation .today {
    color: #fff;
    background-color: #ec407a;
    border: 1px solid #ec407a;
}

.day_navigation .today .sat, .day_navigation .today .sun {
    color: #fff;
}

.day_navigation a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.day_navigation .prev::before {
    left: 4px;
    width: 4px;
    height: 4px;
    border: 4px solid transparent;
    border-right: 4px solid #ec407a;
    box-sizing: border-box;
}

.day_navigation .next::after {
    left: 69px;
    width: 4px;
    height: 4px;
    border: 4px solid transparent;
    border-left: 4px solid #ec407a;
    box-sizing: border-box;
}

.shop_syukkin .shop_content .page_tab {
    text-align: center;
    margin-top: 15px;
    border-bottom: 3px solid #ec407a;
}

.shop_syukkin .shop_content .page_tab .item {
    display: inline-block;
    width: 335px;
    text-align: center;
    border: 2px solid #d6d6d6;
    border-bottom: none;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    cursor: pointer;
}

.shop_syukkin .shop_content .page_tab .item:nth-child(1) {
    float: left;
}

.shop_syukkin .shop_content .page_tab .item:nth-child(3n+0) {
    float: right;
}

.shop_syukkin .shop_content .page_tab .item p {
    width: 60px;
    font-weight: bold;
    line-height: 37px;
    margin: 0 auto;
    padding: 0 17px;
    background: url(../images/fuzoku/shop/syukkin/ico_02-015d053b8d43ec9bfa89440675419eb9.jpg) left center no-repeat;
}

.shop_syukkin .shop_content .page_tab .item.sel {
    background-color: #ec407a;
    border-color: #ec407a;
}

.shop_syukkin .shop_content .page_tab .item.sel p {
    color: #fff;
    background: none;
}

.shop_syukkin .shop_content .content_box {
    padding: 10px;
}

.shop_syukkin .syukkin_list {
    display: flex;
    flex-wrap: wrap;
}

.shop_syukkin .syukkin_list > li {
    flex: 0 0 auto;
    width: 250px;
    margin-right: 3px;
    margin-bottom: 10px;
    border: 1px solid #dbdbdb;
    border-radius: 7px;
    overflow: hidden;
    vertical-align: top;
}

.shop_syukkin .syukkin_list > li:nth-child(4n+0) {
    margin-right: 0;
}

.shop_syukkin .syukkin_list .top {
    font-size: 12px;
    font-weight: bold;
    line-height: 30px;
    text-align: center;
    background-color: #ffd9d9;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.shop_syukkin .syukkin_list .top span {
    margin-left: 4px;
}

.shop_syukkin .syukkin_list .recommend {
    color: #ff4d00;
}

.shop_syukkin .syukkin_list .rare {
    color: #8e0095;
}

.shop_syukkin .syukkin_list .content {
    padding: 8px;
    border: none;
    border-radius: 0 0 7px 7px;
    height: 100%;
}

.shop_syukkin .syukkin_list .img {
    position: relative;
    display: block;
    width: 150px;
    height: 200px;
    text-align: center;
    margin: 0 auto 10px;
    background: transparent;
}

.shop_syukkin .syukkin_list .main_photo {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.shop_syukkin .syukkin_list .name {
    font-size: 18px;
    font-weight: bold;
    line-height: 26px;
    color: #005fc0;
}

.shop_syukkin .syukkin_list .age {
    display: inline-block;
    font-size: 13px;
    font-weight: normal;
    line-height: 13px;
    vertical-align: middle;
}

.shop_syukkin .syukkin_list .size {
    display: inline-block;
    font-size: 13px;
    line-height: 13px;
    vertical-align: middle;
}

.shop_syukkin .syukkin_list .marquee {
    width: 195px;
}

.shop_syukkin .syukkin_list .other {
    font-size: 13px;
    line-height: 1;
    overflow: hidden;
}

.syukkin_list .other span {
    display: inline-block;
    margin: 0;
    padding-top: 4px;
    white-space: nowrap;
}

.girl_ichiran .other span {
    padding-top: 5px;
}

.syukkin_list .other .marquee_on {
    padding-left: 310px;
}

.syukkin_list .cat_list {
    display: flex;
    line-height: 1;
}

.shop_syukkin .cat_list li {
    height: 17px;
    font-size: 11px;
    line-height: 17px;
    color: #fff;
    text-align: center;
    border-radius: 4px;
    vertical-align: top;
    padding: 0 10px;
    margin-right: 2px;
}

.shop_syukkin .cat_list li:last-of-type {
    margin-right: 0;
}

.shop_syukkin .cat_list .diary {
    background-color: #ffa02c;
}

.shop_syukkin .cat_list .movie {
    background-color: #0c89d8;
}

.shop_syukkin .cat_list .newbie {
    background-color: #00ce0e;
}

.shop_syukkin .cat_list .review {
    padding: 0;
    font-size: 13px;
    font-weight: bold;
    text-align: right;
    flex: 1 0 auto;
}

.shop_syukkin .review .icon {
    font-size: 1.3em;
    vertical-align: middle;
}

.shop_syukkin .review .num {
    color: #ff5640;
}

.refine_texttab {
    float: right;
    height: 1.5em;
    font-size: 16px;
    line-height: 1.5em;
    margin-top: 0;
}

.refine_texttab li {
    position: relative;
    display: inline-block;
    color: #ccc;
    padding: 0 12px;
}

.refine_texttab a {
    text-decoration: underline;
}

.refine_texttab a.active {
    font-weight: bold;
    color: #000;
    text-decoration: none;
}

.refine_texttab li::after {
    position: absolute;
    top: 6px;
    right: 0;
    width: 2px;
    height: 0.8em;
    background-color: #666;
    content: '';
}

.refine_texttab li:first-child {
    color: #000;
    padding: 0;
}

.refine_texttab li:last-child::after, .refine_texttab li:first-child::after {
    width: 0;
    content: '';
}

.refine_texttab li:nth-child(2) {
    padding-left: 0;
}

/*--------------------------------------------------------------
店舗：VIP-Mail登録(shop_vipmail)
--------------------------------------------------------------*/
.shop_vipmail .shop_content h2.ttl {
    background: #fdecf1 url(../images/fuzoku/shop/vipmail/ico_01-e53b06555cac76ed95326877451c7590.png) left center no-repeat;
    background-position: 15px;
}

.shop_vipmail .main_content .content {
    text-align: left;
}

.shop_vipmail h3.cont_ttl {
    font-size: 18px;
    color: #005fc0;
    margin-bottom: 20px;
    padding: 8px 12px;
    background-color: #f2f6fc;
}

.shop_vipmail h3.cont_ttl:not(:first-child) {
    margin-top: 40px;
}

.vmail_info_list li {
    margin-bottom: 10px;
    margin-left: 20px;
    list-style: circle;
}

.vmail_info_list li strong {
    color: #ec407a;
}

.shop_vipmail .register_btn {
    display: block;
    width: 100%;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    margin: 0 auto;
    padding: 10px;
    background: linear-gradient(to bottom, #f16498 0%, #ec437c 100%);
    background-color: #f16498;
    border: 1px solid #e32859;
    border-radius: 6px;
    box-sizing: border-box;
    box-shadow: 1px 2px 0 #ccc;
    text-shadow: 1px 1px 0 #e32859;
}

.shop_vipmail .register_btn:hover {
    -webkit-transform: translate3d(0, 3px, 0);
    transform: translate3d(0, 3px, 0);
    text-decoration: none;
    box-shadow: none;
}

.shop_vipmail .min_txt {
    font-size: 12px;
    color: #666;
    margin-top: 10px;
}

.vmail_info_flow li {
    margin-bottom: 10px;
    margin-left: 20px;
    list-style: decimal;
}

.shop_vipmail .attention {
    color: #ec407a;
    margin: 20px 0 12px 4px;
    padding-left: 12px;
    border-left: 5px solid;
}

.shop_vipmail .form-parts {
    width: 80px;
    text-align: center;
    margin-right: 4px;
}

/* --------------------------------------------------------------
アイテム メッセージ一覧
--------------------------------------------------------------*/
/* 一覧 */
.form_title.msg_list {
    margin-bottom: 16px;
}

.pagination_menu.msg_list {
    margin-bottom: 16px;
}

.girl_message_list li {
    margin-bottom: 12px;
    background-color: #fff;
    border: 1px solid #ccc;
}

.girl_message_list li .head {
    padding: 6px 14px;
    background-color: #f7f7f7;
    border-top: 3px solid #ccc;
    border-bottom: 1px solid #ccc;
}

.girl_message_list li .fl_base {
    flex-wrap: nowrap;
    align-items: center;
}

.girl_message_list input {
    width: 20px;
    height: 20px;
    margin-right: 4px;
    flex: 0 0 20px;
}

.girl_message_list li .to_girlname {
    font-size: 16px;
    font-weight: bold;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    align-items: center;
}

.girl_message_list .to_girlname a {
    display: block;
    padding: 0 8px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.girl_message_list .message_detail {
    font-size: 14px;
    padding: 14px;
}

.return_msg_txt {
    margin-top: 8px;
    padding: 8px;
    background-color: #fff1f5;
}

.return_msg_txt h3 {
    font-size: 15px;
    color: #ff6f98;
    margin-bottom: 4px;
}

.return_msg_txt h3::before {
    display: inline-block;
    width: 30px;
    height: 23px;
    margin-right: 4px;
    background: url(../images/mypage/return_girl_icon-3b61a6c43857d8d907c8eb48ff6c5265.png) no-repeat;
    content: '';
    vertical-align: middle;
}

.return_msg_txt p {
    padding: 8px;
    background-color: #fff;
}

.girl_message_list .day {
    width: 116px;
    font-size: 12px;
    color: #777;
    text-align: right;
    margin-left: auto;
    flex: 0 0 auto;
}

.girl_message_list .return_msg_btn {
    display: block;
    font-size: 14px;
    font-weight: bold;
    color: #3782b7;
    text-align: center;
    margin-top: 8px;
    padding: 10px;
    background-color: #e5f4ff;
    border: 1px solid #97c3e4;
    border-radius: 6px;
    box-shadow: 0 2px 0 #97c3e4;
}

.girl_message_list .return_msg_btn:hover {
    -webkit-transform: translate3d(0, 3px, 0);
    transform: translate3d(0, 3px, 0);
    text-decoration: none;
    box-shadow: none;
}

.okini_item .box_selected .message {
    margin-top: 6px;
}

.box_confirm .message {
    max-width: 100%;
    font-size: 14px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.set_msg_btn {
    display: inline-block;
    font-size: 12px;
    font-weight: bold;
    color: #333 !important;
    margin: 5px 0;
    padding: 5px 10px;
    background-color: #dfdfdf;
    border: 1px solid #bcbcbc;
    border-radius: 3px;
}

.set_msg_btn:hover {
    text-decoration: none;
}

.set_msg_btn::before {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 4px;
    background-color: #00a82f;
    border-radius: 10px;
    box-sizing: border-box;
    content: '';
}

.set_msg_btn.off::before {
    background-color: transparent;
    border: 2px solid #888;
}

.return_msg_mail {
    margin-top: 12px;
}

/*  movie_shop
--------------------------------------------------------------*/
.movie_shop .movie_list .item {
    margin-bottom: 10px;
}

.movie_shop .movie_list div.top {
    padding: 12px 16px 10px;
    background-color: #edf5fc;
    border-top: 1px solid #1976d2;
    border-right: 1px solid #ccc;
    border-left: 1px solid #ccc;
}

.movie_shop .movie_list .top .title {
    display: inline-block;
    font-size: 21px;
    font-weight: bold;
}

.movie_shop .movie_list .top .title a {
    color: #000;
}

.movie_shop .movie_list .top .sub {
    display: inline-block;
    font-size: 14px;
    font-weight: normal;
    margin-left: 4px;
    vertical-align: baseline;
}

.movie_shop .movie_list .top .time {
    display: inline-block;
    font-size: 14px;
    color: #333;
    margin-right: 4px;
    padding-left: 15px;
    background: url(../images/video/clock-c850d0c253fff0b36d56383bb0b0b4ed.png) center left no-repeat;
    vertical-align: middle;
}

.movie_shop .movie_list .top .tags {
    display: inline-block;
    width: auto;
    margin-top: 4px;
}

.movie_shop .movie_list .top .tags li {
    display: inline-block;
    width: auto;
    height: 18px;
    font-size: 13px;
    line-height: 18px;
    color: #1976d2;
    text-align: center;
    margin: 0;
    padding: 0 5px;
    border: 1px solid #1976d2;
    box-sizing: border-box;
}

.movie_shop .movie_list .top .tags .gray {
    color: #fff;
    background-color: #ccc;
    border: 1px solid #ccc;
}

.movie_shop .movie_list .top .tags .red {
    width: 95px;
    color: #fff;
    background-color: #f44336;
    border: 1px solid #f44336;
}

.movie_shop .movie_list .top .tags .sugu {
    font-size: 14px;
    color: #333;
    background: none;
    border: none;
}

.movie_shop .movie_list .top .tags .sugu span {
    color: #ec1f30;
}

.movie_shop .movie_list ul {
    width: 756px;
    margin: 0 auto;
}

.movie_shop .movie_list li {
    margin: 0 24px 10px 0;
    padding: 0;
    border: none;
}

.movie_shop .movie_list li::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    content: '';
}

.movie_shop .movie_list .bottom {
    padding-top: 8px;
    background-color: #fff;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    border-left: 1px solid #ccc;
}

.movie_shop .movie_list .bottom p.img {
    border: 2px solid #000;
}

.movie_shop .movie_list .bottom .btn {
    display: block;
    margin: 0 auto;
    padding-bottom: 15px;
}

/* tsuika-page-css 20180305
---------------------------------------------------------- */
.form_cont {
    margin-bottom: 80px;
}

.form_cont .form_cont_table {
    margin-top: 20px;
    border: 1px solid #c2dcf2;
}

.form_cont .form_cont_table th {
    position: relative;
    width: 290px;
    font-size: 16px;
    padding: 20px 10px;
    background-color: #fbfcff;
    border: 1px solid #bcceec;
    border-left: 5px solid #4b69c5;
    vertical-align: middle;
}

.form_cont .form_cont_table .type_blue th {
    background-color: #fbfcff;
    border: 1px solid #bcceec;
    border-left: 5px solid #4b69c5;
}

.form_cont .form_cont_table .type_blue td {
    border: 1px solid #bcceec;
}

.form_cont .form_cont_table .type_gray th {
    background-color: #fafafa;
    border: 1px solid #d0d0d0;
    border-left: 5px solid #969696;
}

.form_cont .form_cont_table .type_gray td {
    border: 1px solid #d0d0d0;
}

.form_cont .form_cont_table th .kome {
    font-size: 14px;
    color: #f44336;
}

.form_cont .form_cont_table th .need {
    display: inline-block;
    font-size: 14px;
    color: #fff;
    margin-left: 10px;
    padding: 0 10px;
    background-color: #f44336;
    border-radius: 3px;
}

.form_cont .form_cont_table td {
    font-size: 16px;
    padding: 20px 10px;
    border: 1px solid #c2dcf2;
}

.form_cont td .row {
    margin-top: 10px;
}

.form_cont td .row_label {
    display: inline-block;
    width: 100px;
}

.form_cont td .data_label {
    display: inline-block;
    width: 70px;
}

.form_cont td .data_score {
    font-size: 26px;
    font-weight: 700;
    color: #ff3d9e;
}

.form_cont td .w_10 {
    width: 10%;
}

.form_cont td .w_60 {
    width: 60%;
}

.form_cont td .w_100 {
    width: 98%;
}

.form_cont td .h_4 {
    height: 4em;
}

.form_cont td .h_6 {
    height: 6em;
}

.form_cont td .h_8 {
    height: 8em;
}

.form_cont td .h_10 {
    height: 10em;
}

.form_cont input, .form_cont textarea {
    padding: 1%;
}

.form_cont .form_cont_table td input[disabled='disabled'] {
    font-size: 16px;
    background: none;
    border: none;
}

.form_cont .form_cont_table td label {
    font-size: 16px;
}

.form_cont .form_cont_table td select {
    width: 100px;
}

.form_cont td .msg {
    font-size: 14px;
    padding: 10px 15px;
    background-color: #ffdbe3;
}

.form_cont td .msg a {
    text-decoration: underline;
}

.form_cont td .msg_label {
    font-weight: 700;
    color: #f00;
}

.form_cont td .caution {
    font-size: 14px;
    color: #555;
}

.form_cont td .counter {
    font-size: 14px;
    margin-top: 5px;
}

.form_cont .form_cont_table .check {
    text-align: center;
    margin: 20px 0;
    padding: 15px 0;
    background-color: #fff;
}

.form_cont .form_cont_table .button a {
    display: block;
    width: 370px;
    height: 42px;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    margin: 20px auto 0;
    padding: 5px 0 0;
    background: url(../images/mypage/login_button02-b5064034346c365031600d73cc694256.png) no-repeat;
    text-shadow: 2px 0 1px #df7207;
}

.form_cont .form_cont_table .button a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.form_cont .desc_text {
    margin-top: 20px;
}

.form_cont .contract_text {
    font-size: 14px;
    margin-top: 10px;
    padding: 10px;
    border: 10px solid #dae2ed;
}

.form_cont .contract_text .list_text {
    font-weight: 700;
}

.form_cont .contract_text .ico {
    font-size: 10px;
    color: #536fc7;
}

.form_cont .button a {
    display: block;
    width: 400px;
    height: 62px;
    font-size: 20px;
    font-weight: bold;
    line-height: 62px;
    color: #fff;
    text-align: center;
    margin: 20px auto;
    border-radius: 6px;
}

.form_cont .button a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.form_cont .button .confirm a {
    background-color: #e84c41;
    box-shadow: 0 2px 0 #ca6b64;
}

.form_cont .button .submit a {
    background-color: #e84c41;
    box-shadow: 0 2px 0 #c32f25;
}

.form_cont .button .back a {
    background-color: #1976d2;
    box-shadow: 0 2px 0 #0b5bab;
}

.form_cont .form_cont_confirm {
    margin-top: 20px;
}

.form_cont .form_cont_confirm dt {
    font-size: 18px;
    font-weight: 700;
    padding: 10px 20px;
}

.form_cont .form_cont_confirm .type_blue {
    color: #005fc0;
    background-color: #f2f6fc;
    border-left: 5px solid #4b69c5;
}

.form_cont .form_cont_confirm .type_gray {
    background-color: #f7f7f7;
    border-left: 5px solid #969696;
}

.form_cont .form_cont_confirm dd {
    font-size: 16px;
    margin: 15px 25px;
    word-break: break-word;
}

.form_cont .form_cont_confirm dd .small {
    font-size: 14px;
}

.form_cont .form_cont_confirm dd .score {
    display: inline-block;
    margin-right: 30px;
}

.form_cont .form_cont_confirm dd .clr-pink {
    font-family: Arial;
    font-size: 20px;
    font-weight: 700;
    color: #ff3d9e;
}

.form_cont .agree_text {
    text-align: center;
    margin-top: 30px;
}

.form_msg.error {
    font-weight: bold;
    color: #f00;
    text-align: center;
    margin: 10px auto;
    padding: 10px;
    border: 10px solid #ffe5e8;
}

.input_error {
    background-color: #ffe5e8;
    border: 1px solid #ff007f;
}

.box_score_slider .ui-slider.input_error {
    border: 1px solid #ff007f;
}

.box_score_slider .ui-slider.input_error .ui-widget-header {
    background-color: #ffe5e8;
}

.notice_input_error {
    color: #f00;
}

/*  girl_message
--------------------------------------------------------------*/
.form_frame.item {
    padding: 10px;
    background-color: #f8f6f4;
}

.shop_common section.form_frame.item {
    margin-bottom: 20px !important;
}

.form_frame.message {
    margin-bottom: 20px;
    padding-bottom: 20px;
    background-color: #edf0f2;
}

/* 見出し */
.profile_top .form_title {
    height: 34px;
    color: #fff;
    padding-top: 11px;
    padding-bottom: 6px;
    padding-left: 20px;
    background-color: #ec407a;
}

.item .form_inner {
    text-align: center;
    padding: 20px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.form_frame.item .txt_info {
    text-align: left;
}

.form_frame.item .form_box {
    display: table;
    width: 100%;
    text-align: left;
    border-bottom: 1px solid #e6cd45;
}

.form_frame.item .row {
    display: table-row;
    border-bottom: 1px solid #e6cd45;
}

.form_frame.item .form_box .row:nth-child(1) {
    border-top: 1px solid #e6cd45;
}

.form_frame.item .form_box .lbl {
    display: table-cell;
    width: 200px;
    font-weight: bold;
    padding: 20px 15px;
    background-color: #fffbe5;
    border: 1px solid #e6cd45;
    border-bottom: none;
    vertical-align: middle;
}

.form_frame.item .form_box .icon {
    padding-left: 45px;
    background-repeat: no-repeat;
    background-position: 10px;
}

.form_frame.item .form_box .icon.nick {
    background-image: url(../images/fuzoku/girl/message/ico_01-f707318229997210b0c3ffc7f6d7a5ed.png);
}

.form_frame.item .form_box .icon.store {
    background-image: url(../images/fuzoku/girl/message/ico_02-5c79bbe8fdb22bd2be67c38b7db8e8f2.png);
}

.form_frame.item .form_box .icon.girl {
    background-image: url(../images/fuzoku/girl/message/ico_03-21ed1e75166a08f3506dd7eb56ccef1e.png);
}

.form_frame.item .form_box .icon.msg {
    background-image: url(../images/fuzoku/girl/message/ico_04-62f11ceebd453d1ec4cf4f441ca7257d.png);
}

.form_frame.item .form_box .content {
    position: relative;
    display: table-cell;
    padding: 20px;
    border: 1px solid #e6cd45;
    border-bottom: none;
    border-left: none;
    vertical-align: middle;
}

.form_frame.item .form_box .txa {
    width: 700px;
    min-height: 155px;
    resize: none;
}

.form_frame.item .form_btn {
    padding-top: 20px;
}

.form_frame.item .form_btn .btn {
    display: inline-block;
    width: 300px;
    height: 42px;
    font-size: 18px;
    font-weight: bold;
    line-height: 40px;
    color: #333;
    text-align: center;
    margin: 6px 5px 10px;
    background: linear-gradient(to bottom, #fff 0%, #f3f3f3 47%, #e0e0e0 100%);
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    cursor: pointer;
    vertical-align: middle;
    text-decoration: none;
    box-shadow: 0 3px 0 0 #e6e4e5, inset 1px 1px 0 0 #fff;
}

/*--------------------------------------------------------------
特集記事（special_cont）
--------------------------------------------------------------*/
.special_cont.tokusyu_ichiran .special_cont_other {
    margin-top: 0;
}

/*  枠用 背景色とか全体のフォントとか  */
.special_cont_list {
    padding: 5px;
    background-color: #f2f0ed;
}

.special_cont_list .mt10 {
    margin-top: 10px !important;
}

.special_cont_list_body {
    padding: 20px;
}

.special_cont_list_body .block {
    margin-top: 20px;
    padding: 0;
    overflow: hidden;
}

.special_cont_list_body .block img {
    display: block;
    width: auto;
    text-align: center;
    margin: 0 auto;
}

.special_cont_list_body .interview img {
    width: auto;
    text-align: center;
}

.special_cont_list_body .fll {
    float: left;
    margin: 0 18px 10px 0 !important;
}

.special_cont_list_body .flr {
    float: right;
    margin: 0 0 5px 18px !important;
}

.special_cont_list_body .article {
    clear: both;
    overflow: hidden;
}

.special_cont_list_body .article a {
    font-size: 16px;
    font-weight: 700;
}

.special_cont_list_body p {
    line-height: 1.6em;
}

.special_cont_list_body p + p {
    margin-top: 8px;
}

.special_cont_list_body hr {
    margin: 20px 0;
}

.special_cont_list_body h3 {
    font-size: 16px;
    color: #38b1a3;
    margin: 8px 0 4px;
    margin-bottom: 20px !important;
    padding: 0;
    padding: 6px 6px 2px;
    border: 0;
    border-bottom: 3px solid #aee2dc;
    clear: both;
}

.special_cont_list_body .kinken {
    width: -webkit-calc(100% - 228px);
    width: calc(100% - 228px);
}

.special_cont_list .special_cont_list_inner {
    background-color: #fff;
    border: 1px solid #b3b3b3;
    border-radius: 6px;
}

.special_cont_list .special_cont_list_header {
    padding: 15px 20px;
    background-color: #edf5fc;
    border-radius: 6px 6px 0 0;
}

.special_cont_list .special_cont_list_header .header_date {
    font-size: 14px;
}

.special_cont_list .special_cont_list_header h2.header_title {
    font-size: 20px !important;
    margin: 0 !important;
    border-bottom: 0 !important;
}

.special_cont .cont_girl_box {
    margin-top: 10px;
}

.special_cont .cont_girl_box a {
    font-size: 16px;
    font-weight: bold;
    margin: 4px;
}

.special_cont .cont_girl_box img {
    max-width: 240px;
    margin-bottom: 8px;
}

.special_cont .gyokai_waribiki {
    max-width: 100%;
    margin-bottom: 20px;
}

/* アクセスマップ */
.building_map_txt {
    color: #333;
    display: table;
    margin: 8px;
    border-radius: 4px;
}

.building_map_txt .address_em {
    display: table-cell;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
    padding: 2px 8px;
    background: #dedede;
    border-radius: 4px;
    word-break: keep-all;
}

.building_map_txt .address {
    font-size: 14px;
    padding-left: 5px;
    display: table-cell;
}

.special_cont .google-maps {
    padding-bottom: 250px;
}

/*  今回ご紹介したお店の情報はこちら  */
.special_cont_shop {
    margin-top: 30px;
}

.special_cont_shop .special_cont_shop_header {
    font-size: 20px !important;
    font-weight: 700;
    line-height: 1;
    padding: 15px 20px;
    background-color: #feeceb;
    border-bottom: 3px solid #f44336 !important;
}

.special_cont_shop .special_cont_shop_inner {
    padding: 10px;
    background-color: #f2f0ed;
}

.special_cont_shop .shop_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    margin-top: -10px;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

.special_cont_shop .shop_list_item {
    margin: 10px 10px 0 0;
    flex: 0 0 383px;
}

.special_cont_shop .shop_list_item a {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    color: #333;
    padding: 8px;
    background: #fff url(../images/pages/before-bg/ico_path-54acb9fb7d4dc394f73c389ad64d21cb.png) no-repeat 98% 50%;
    border: 1px solid #b3b3b3;
    border-radius: 6px;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: center;
}

.special_cont_shop .shop_list_item a:hover {
    text-decoration: none;
}

.special_cont_shop .shop_list_item:nth-child(2n) {
    margin-right: 0;
}

.special_cont_shop .shop_list_eyecatch {
    position: relative;
    width: 90px;
    height: 120px;
    margin-right: 14px;
    flex: 0 0 90px;
}

.special_cont_shop .shop_list_eyecatch .img_wrap {
    position: relative;
    width: 120px;
    height: 160px;
    background-color: #fff;
}

.special_cont_shop .shop_list_eyecatch img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 90px;
    max-height: 120px;
    margin: auto;
}

.special_cont_shop .shop_list_info {
    padding-right: 16px;
    border-right: 1px solid #ccc;
    flex: 0 0 220px;
}

.special_cont_shop .shop_list_title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3em;
    color: #005fc0;
}

.special_cont_shop .shop_list_data {
    font-size: 14px;
}

.special_cont_shop .shop_list_price {
    font-size: 14px;
}

.special_cont_shop .shop_list_price .clr01 {
    font-size: 20px;
    font-weight: 700;
    color: #e03c34;
}

.special_cont_shop .shop_list_tel {
    font-size: 14px;
    margin-top: 4px;
}

.special_cont_shop .shop_list_address {
    font-size: 14px;
    padding-left: 3em;
    text-indent: -3em;
}

.special_cont_shop .special_cont_shop_footer {
    padding: 20px 0 10px;
}

.special_cont_shop .special_cont_shop_footer .btn {
    text-align: center;
}

.special_cont_shop .special_cont_shop_footer .btn a {
    position: relative;
    display: inline-block;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    padding: 20px 100px;
    background-color: #1976d2;
    border-radius: 6px;
    box-shadow: 0 2px 0 #044e98;
}

.special_cont_shop .special_cont_shop_footer .btn a::before {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url('../images/pages/before-bg/ico_fa-clock-o-e2e2f82d4549ae49f7698de29ef034d8.png') no-repeat;
    content: '';
    vertical-align: middle;
}

.special_cont_shop .special_cont_shop_footer .btn a:hover {
    opacity: 0.8;
    text-decoration: none;
}

/*  special_cont_other  */
.special_cont_other {
    margin-top: 30px;
}

.special_cont_other h2.special_cont_other_header {
    font-size: 20px !important;
    font-weight: 700;
    line-height: 1;
    padding: 15px 20px;
    background-color: #feeceb;
    border-bottom: 3px solid #f44336 !important;
}

.special_cont_other .special_cont_other_inner {
    margin: 10px auto 30px;
    padding: 10px;
    background-color: #f2f0ed;
}

.special_cont_other .post_list_item {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    margin-top: 10px;
    padding: 10px;
    background-color: #fff;
    border: 1px solid #b3b3b3;
    border-radius: 6px;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

.special_cont_other .post_list_item:first-child {
    margin-top: 0;
}

.special_cont_other .post_list_eyecatch {
    margin-right: 20px;
    flex: 0 0 140px;
}

.special_cont_other .post_list_eyecatch a {
    position: relative;
    display: block;
    width: 140px;
    height: 187px;
    background-color: #fff;
}

.special_cont_other .post_list_eyecatch img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 140px;
    max-height: 187px;
    margin: auto;
}

.special_cont_other .post_list_info {
    flex: 0 0 590px;
}

.special_cont_other .post_list_date {
    font-size: 14px;
    font-weight: normal;
    color: #666;
    margin-top: 5px;
}

.special_cont_other .post_list_cate {
    font-size: 12px;
    border-radius: 2px;
    padding: 2px 6px;
    color: #fff;
    line-height: 1;
    margin-left: 6px;
}

.post_list_cate {
    font-size: 12px;
    border-radius: 2px;
    padding: 2px 6px;
    color: #fff;
    line-height: 1;
    margin-left: 6px;
}

.special_cont_other .post_list_title {
    font-size: 20px;
    font-weight: 700;
    color: #005fc0;
}

.special_cont_other .post_list_title a {
    display: block;
    max-width: 590px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.special_cont_other .special_cont_shop_footer {
    margin: 10px 0 0;
}

.special_cont_other .special_cont_shop_footer .btn {
    text-align: center;
}

.special_cont_other .special_cont_shop_footer .btn a {
    position: relative;
    display: inline-block;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    padding: 20px 100px;
    background-color: #1976d2;
    border-radius: 6px;
    box-shadow: 0 2px 0 #044e98;
}

.special_cont_other .special_cont_shop_footer .btn a::before {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url('../images/pages/before-bg/ico_fa-clock-o-e2e2f82d4549ae49f7698de29ef034d8.png') no-repeat;
    content: '';
    vertical-align: middle;
}

.special_cont_other .special_cont_shop_footer .btn a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.girl_link_wrap .girl_name {
    font-weight: bold;
    padding: 8px;
    background: url(../images/pages/before-bg/ico_path-54acb9fb7d4dc394f73c389ad64d21cb.png) no-repeat 98% 50%;
}

.girl_search .news_pager .count {
    float: left;
    padding: 20px 0;
}

.girl_search .news_pager .count p {
    display: inline;
}

.girl_search .news_pager .button {
    float: right;
    padding: 20px 0;
}

.girl_search .news_pager .button li {
    width: 130px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    padding: 1px;
    background-color: #333;
}

.girl_search .news_pager .button li.active {
    background-color: #ec1f30;
}

.girl_search .news_pager .button li:first-of-type {
    border-radius: 3px 0 0 3px;
}

.girl_search .news_pager .button li:last-of-type {
    border-radius: 0 3px 3px 0;
}

.girl_search .news_pager .button li a {
    display: block;
    color: #fff;
    background-color: #545454;
    border-top: 1px solid #767676;
    border-left: 1px solid #767676;
}

.girl_search .news_pager .button li a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.girl_search .news_pager .button li.active a {
    display: block;
    color: #fff;
    background-color: #f44336;
    border-top: 1px solid #f85e4c;
    border-left: 1px solid #f85e4c;
}

#modal-content label[for='hensin'] {
    margin-left: 13px;
}

#modal-content.search_modal_type03 {
    height: 490px;
}

#pages .toko_end h2.ttl {
    background: #fdecf1 url(../images/fuzoku/shop/syukkin/ico_03-1c3d07e5de5db0f1b85d4b583bf8a269.png) left center no-repeat;
    background-position: 15px;
}

#pages .toko_end .txt {
    margin-top: 25px;
}

#pages .toko_end .btn {
    text-align: center;
    margin-top: 30px;
}

.special_cont_other .post_list_info .border {
    display: block;
    height: 70px;
    line-height: 1.4rem;
    margin: 13px 19px;
    padding: 10px 10px 0;
    background-color: #fcfcfc;
    border: 1px solid #dbdbdb;
    overflow: hidden;
}

.special_cont_other .post_list_info .border {
    margin: 13px 0;
}

.special_cont_other .post_list_info .border a {
    display: block;
    font-size: 13px;
    color: #005fc0;
    text-align: right;
}

.special_cont_other .post_list_info .border a::before {
    content: '>>';
}

.sugu_jo .syukkin_list .top {
    font-size: 18px;
    color: #000;
}

.sugu_jo .syukkin_list .working {
    color: #f00;
}

.sugu_jo .syukkin_list .recommend, .sugu_jo .syukkin_list .rare {
    font-size: 13px;
}

.shop-acc .googlemap {
    margin: 20px 0 0;
    padding: 4px;
    border: 1px solid #e6e6e6;
}

.shop-acc .googlemap iframe {
    width: 100%;
    height: 390px;
}

.shop-acc .map-txt {
    margin: 20px auto 24px;
}

.shop-acc .map-tbl {
    font-size: 14px;
    margin-bottom: 20px;
    border-width: 1px 0 0 1px;
    border-style: solid;
    border-color: #ccc;
}

.shop-acc .map-tbl th {
    width: 170px;
    padding: 17px 19px;
    background-color: #f8f6f4;
    border-bottom: 1px solid #ccc;
}

.shop-acc .map-tbl td {
    padding: 16px;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    vertical-align: middle;
}

.tokusyu_ichiran .special_cont_other .news_pager {
    margin-bottom: 10px;
}

.tokusyu_ichiran .special_cont_other .news_pager p {
    display: inline;
}

.tokusyu_ichiran .special_cont_shop_footer {
    margin: 20px 0 30px;
    overflow: hidden;
}

.tokusyu_ichiran .special_cont_shop_footer .count {
    float: left;
    width: 200px;
}

.tokusyu_ichiran .special_cont_shop_footer .count p {
    float: left;
    font-size: 16px;
    margin: 0 10px 0 0;
}

.tokusyu_ichiran .special_cont_shop_footer ul {
    float: right;
}

.tokusyu_ichiran .special_cont_shop_footer li {
    float: left;
    line-height: 28px;
    text-align: center;
    margin: 0 5px;
}

.tokusyu_ichiran .special_cont_shop_footer ul li.number {
    width: 28px;
    height: 29px;
    background: url(../images/pages/article/pager-bk_off-3140e141407c9dcbca241b42a8b38544.jpg);
}

.tokusyu_ichiran .special_cont_shop_footer ul li.active {
    width: 28px;
    height: 29px;
    background: url(../images/pages/article/pager-bk_on-b7e197d76073fb9a13850a4d59a0e0fc.jpg);
}

.tokusyu_ichiran .special_cont_shop_footer ul li.number a {
    font-size: 14px;
    font-weight: bold;
    color: #111;
    text-decoration: none;
}

.tokusyu_ichiran .special_cont_shop_footer ul li.active a {
    color: #fff;
}

/*==================================================================
おすすめホテル
==================================================================*/
.recom_hotel > h2 {
    margin-bottom: 10px;
    padding-bottom: 4px;
    border-bottom: 2px solid #dbdbdb;
}

.recom_hotel .news_nav li {
    width: 186px;
}

.recom_hotel .article-search-head select {
    width: 195px;
    height: 33px;
    font-size: 15px;
}

.recom_hotel #article-sec2 {
    margin: 0 0 10px;
}

.recom_hotel .news_pager.pager1 .count {
    padding: 10px 0;
}

.recom_hotel .article-search-head .list2 {
    margin: 3px 0 0 0;
}

.hotel_list {
    margin-bottom: 10px;
    padding: 10px;
    background-color: #f8f6f4;
}

.hotel_list .item .top {
    display: flex;
    padding: 10px 20px;
    background-color: #edf5fc;
    border-width: 1px 1px 0;
    border-style: solid;
    border-color: #1976d2 #ccc;
    justify-content: space-between;
    align-items: center;
}

.hotel_list .title {
    display: block;
    font-size: 20px;
    font-weight: bold;
}

.hotel_list .item {
    margin-bottom: 10px;
}

.hotel_list .item .top .name_area {
    font-size: 13px;
    color: #fff;
    padding: 2px 25px;
    background-color: #1976d2;
    border-radius: 5px;
}

.hotel_list .item .btm {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    padding: 20px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-top: none;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.hotel_list .item .btm .img {
    position: relative;
    width: 156px;
    height: 208px;
    margin-right: 20px;
}

.hotel_list .item .btm img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 156px;
    max-height: 208px;
    margin: auto;
}

.hotel_list .item .btm .detail-box {
    width: 560px;
}

.hotel_list .item .btm .acc-etc {
    margin-bottom: 18px;
    padding-left: 9px;
    border-left: 3px solid #f44336;
}

.hotel_list .item .btm .tags {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    margin-bottom: 9px;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    -ms-align-items: center;
}

.hotel_list .item .btm .tags li {
    width: auto;
    font-size: 11px;
    color: #ff5ba2;
    margin-right: 4px;
    padding: 1px 9px;
    border: 1px solid #ff5ba2;
    border-radius: 4px;
}

.hotel_list .item .btm .border {
    display: block;
    height: 94px;
    line-height: 1.4rem;
    padding: 10px 10px 0;
    background-color: #fcfcfc;
    border: 1px solid #dbdbdb;
    overflow: hidden;
}

.hotel_list .item .btm .border a {
    display: block;
    font-size: 13px;
    color: #005fc0;
    text-align: right;
}

.hotel_list .item .btm .border a::before {
    content: '>>';
}

.recom_hotel .to-aichi-ichiran {
    text-align: center;
    margin: 20px 0 40px;
}

.recom_hotel.detail .top-box {
    display: flex;
    padding: 10px 0;
    flex-wrap: wrap;
}

.recom_hotel.detail .top-box .img {
    width: 240px;
    margin-right: 20px;
}

.recom_hotel.detail .top-box .img img {
    max-width: 100%;
}

.recom_hotel.detail .top-box .right-box {
    width: 500px;
}

.recom_hotel.detail .top-box .right-box .area-name {
    display: inline-block;
    font-size: 13px;
    color: #fff;
    margin-bottom: 10px;
    padding: 2px 25px;
    background-color: #1976d2;
    border-radius: 5px;
}

.recom_hotel.detail .top-box .right-box .ttl {
    font-size: 26px;
    color: #005fc0;
    margin-bottom: 10px;
}

.recom_hotel.detail .top-box .right-box .tags {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    margin-bottom: 9px;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    -ms-align-items: center;
}

.recom_hotel.detail .top-box .right-box .tags li {
    width: auto;
    font-size: 11px;
    color: #ff5ba2;
    margin-right: 4px;
    padding: 1px 9px;
    border: 1px solid #ff5ba2;
    border-radius: 4px;
}

.recom_hotel.detail .top-box .right-box .tel {
    position: relative;
    font-size: 27px;
    font-weight: bold;
    margin-bottom: 15px;
    padding-left: 30px;
}

.recom_hotel.detail .top-box .right-box .tel::before {
    position: absolute;
    top: 9px;
    left: 0;
    width: 20px;
    height: 20px;
    background: url(../images/pages/before-bg/ico_fa-phone-84a16fb171996f7db86a2e3d6fa2999b.png) no-repeat;
    content: '';
}

.recom_hotel.detail .cont:last-of-type {
    padding-bottom: 40px;
    border-bottom: 1px solid #ccc;
}

.recom_hotel.detail .cont h3 {
    position: relative;
    font-size: 20px;
    margin: 20px 0;
    padding: 10px 0;
    background-color: #edf5fc;
    text-indent: 2.3em;
}

.recom_hotel.detail .cont h3::before {
    position: absolute;
    top: 15px;
    left: 15px;
    width: 21px;
    height: 21px;
    content: '';
}

.recom_hotel.detail .cont.info h3::before {
    background: url(../images/pages/before-bg/ico-fa-info-abd48a0809f7f9508cc56c23ccb63b69.png) no-repeat;
}

.recom_hotel.detail .cont.price h3::before {
    background: url(../images/pages/before-bg/ico-fa-yen-1248cf1833e287710c692c813eef4d3d.png) no-repeat;
}

.recom_hotel.detail .cont.access h3::before {
    background: url(../images/pages/before-bg/ico-fa-acc-948df2c1bd13c14405e9896c11824543.png) no-repeat;
}

.recom_hotel.detail .cont.price .stay {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px dotted #257dd4;
}

.recom_hotel.detail .cont.price .stay dt {
    font-size: 18px;
    margin-bottom: 15px;
}

.recom_hotel.detail .cont.price .stay dt::before {
    color: #257dd4;
    margin-right: 4px;
    content: '◆';
}

.recom_hotel.detail .cont.access .ttl {
    font-size: 18px;
    font-weight: bold;
}

.recom_hotel.detail .cont.access .googlemap {
    margin: 20px 0 0;
    padding: 4px;
    border: 1px solid #e6e6e6;
}

.recom_hotel.detail .cont.access .googlemap iframe {
    width: 100%;
    height: 390px;
}

.recom_hotel.detail .btn-center {
    text-align: center;
    margin: 15px 0 40px;
}

#pages .page-search.area-search .list1 {
    padding-top: 10px;
    border: 1px solid #b3b3b3;
}

#pages .page-search .left-area h5.pink a {
    background-color: #ec407a;
}

#pages .page-search .left-area h5.blue a {
    background-color: #1976d2;
}

.girl_ichiran h2.ttl {
    margin-bottom: 20px;
    background: #fdecf1 url('../images/pages/before-bg/ico-hum-60b2938c4a6ca625bca4e6aa1cbdc0c0.png') 10px center no-repeat;
}

.girl_ichiran .look_btn input[type='search'] {
    float: left;
    width: 240px;
    height: 40px;
    font-size: 15px;
    padding: 10px 15px;
    border: 1px solid #e69cb5;
    border-right: none;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    box-sizing: border-box;
    vertical-align: top;
    -webkit-appearance: textfield;
}

.girl_ichiran .btn_search {
    width: 80px;
    height: 40px;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    background-image: linear-gradient(#f06599, #eb417a);
    border: 1px solid #e22858;
    border-radius: 0 4px 4px 0;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4) inset, 1px 0 0 rgba(255, 255, 255, 0.4) inset;
}

/*==================================================================
女の子一覧
==================================================================*/
.shop_content.girl_ichiran .folder-guide {
    margin-bottom: 22px;
}

.shop_content.girl_ichiran .folder-guide .list {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    flex-wrap: wrap;
}

.shop_content.girl_ichiran .folder-guide li {
    margin: 0 7px 5px 0;
}

.shop_content.girl_ichiran .folder-guide li:nth-of-type(4n) {
    margin-right: 0;
}

.shop_content.girl_ichiran .folder-guide li a {
    position: relative;
    display: block;
    width: 250px;
    color: #000;
    text-align: center;
    padding: 10px 0;
    border: 2px solid #d6d6d6;
    border-radius: 4px;
    box-sizing: border-box;
}

.shop_content.girl_ichiran .folder-guide li.active a {
    background-color: #ec407a;
    border: none;
}

.shop_content.girl_ichiran .folder-guide li.active a {
    color: #fff;
}

.shop_content.girl_ichiran .folder-guide li a::before {
    position: absolute;
    top: 12px;
    left: 68px;
    width: 19px;
    height: 17px;
    background: url(../images/pages/before-bg/ico-folder.png) no-repeat;
    content: '';
}

.shop_content.girl_ichiran .folder-guide li a:hover {
    color: #fff;
    background-color: #ec407a;
    border: none;
    text-decoration: none;
}

.shop_content.girl_ichiran .folder-guide li a:hover::before, .shop_content.girl_ichiran .folder-guide li.active a::before {
    background: url(../images/pages/before-bg/ico-folder-open.png) no-repeat;
}

.shop_content.girl_ichiran .narabikae {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    color: #005fc0;
    margin-bottom: 15px;
    padding: 6px;
    background-color: #fff;
}

.shop_content.girl_ichiran .narabikae .img {
    position: relative;
    padding-right: 13px;
}

.shop_content.girl_ichiran .narabikae .img::after {
    position: absolute;
    top: 9px;
    right: 0;
    width: 2px;
    height: 39px;
    background: url(../images/pages/before-bg/narabikae-border-right.jpg) no-repeat;
    content: '';
}

.shop_content.girl_ichiran .narabikae .list {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    -ms-align-items: center;
}

.shop_content.girl_ichiran .narabikae .list li {
    line-height: 1;
    padding: 0 13px;
    border-right: 1px solid #949494;
}

.shop_content.girl_ichiran .narabikae .list li.big-small {
    padding: 0;
    border-right: none;
}

.shop_content.girl_ichiran .narabikae .list li a {
    text-decoration: underline;
}

.shop_content.girl_ichiran .narabikae .list li a:hover {
    text-decoration: none;
}

.shop_content.girl_ichiran .narabikae .list li ul {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
}

.girl_ichiran .syukkin_list .content {
    border-radius: 7px;
}

.girl_ichiran .syukkin_list .img {
    position: relative;
    width: 253px;
    height: 336px;
    background-color: #efefef;
}

.girl_ichiran .syukkin_list .today, .girl_ichiran .syukkin_list .now, .girl_ichiran .syukkin_list .finish {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    font-size: 13px;
    color: #fff;
    padding: 2px 10px;
}

.girl_ichiran .syukkin_list .today {
    background-color: #fa8c0f;
}

.girl_ichiran .syukkin_list .now {
    background-color: #f44336;
}

.girl_ichiran .syukkin_list .finish {
    background-color: #4d4d4d;
}

.girl_ichiran .syukkin_list .sugujo {
    position: absolute;
    top: -36px;
    right: -11px;
    width: 215px;
    height: 30px;
    font-size: 13px;
    line-height: 2.4;
    color: #ec1f30;
    background: url(../images/pages/before-bg/tag-sugujo-0454b14e74c84087bd611fb21f50557c.png) no-repeat;
    text-indent: 100px;
}

.girl_ichiran .syukkin_list .content {
    position: relative;
    padding-top: 0;
}

.girl_ichiran .syukkin_list .name {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    line-height: 1.2;
    justify-content: space-between;
}

.girl_ichiran .syukkin_list .cat_list {
    margin-top: 3px;
}

.girl_ichiran .syukkin_list .name a {
    display: block;
    font-size: 17px;
    font-weight: bold;
    color: #fff;
    text-align: left;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.girl_ichiran .syukkin_list li.no-item .content p.name a {
    font-weight: normal;
}

.girl_ichiran .syukkin_list .date {
    font-size: 12px;
    font-weight: normal;
    color: #ff5640;
    text-align: right;
    flex: 1 0 auto;
}

.girl_ichiran .syukkin_list .age-size {
    font-size: 12px;
    color: #dedede;
    text-align: left;
    padding: 0;
}

.news_pager.c-font {
    font-size: 16px;
}

.c-font .count span {
    font-size: 22px;
    font-weight: bold;
    color: red;
    margin-right: 3px;
}

/* スグ嬢 */
.shop_syukkin.sugu_jo .shop_content h2.ttl {
    background-image: url(../images/pages/before-bg/ico-time-9ec894ea01f3489053504cb28988ce11.png);
}

.sugu_jo .syukkin_list .content ul.cat_list li {
    border-radius: 3px;
}

.search_box_type01 {
    padding: 20px;
    background-color: #f8f6f4;
}

.search_box_type01 input[type='search'] {
    width: 676px;
    padding: 9px;
    border: 1px solid #b3b3b3;
    border-radius: 1px 0 0 1px;
    vertical-align: middle;
}

.search_box_type01 input[type='image'] {
    vertical-align: middle;
}

.search_box_type01 ul {
    margin-top: 20px;
}

.search_box_type01 li {
    float: left;
    width: 370px;
}

.search_box_type01 ul li:first-child {
    margin-right: 20px;
}

.search_box_type01 li a {
    display: block;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    padding: 7px 0;
    background-color: #1976d2;
    border-radius: 30px;
}

.search_box_type01 li a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.store_title {
    font-size: 16px;
    line-height: 1.4;
    margin-bottom: 20px;
    padding: 0 0 0 4px;
    border-left: 3px solid #f44336;
}

.store_search .search_list .search_border .search_cont .text .button_list_type02 li {
    width: 95px;
    text-align: center;
    margin-right: 1px;
}

.store_search .search_list .search_border .search_cont .text .button_list_type02 li:last-of-type {
    margin-right: 0;
}

.store_search .search_list .search_border .search_cont .text .button_list_type02 li a {
    display: block;
    width: 88px;
    font-size: 11px;
    font-weight: bold;
    color: #222;
    padding: 6px 0;
    background-color: #fff6fb;
    border: 1px solid #e9b9cb;
    border-bottom: 3px solid #e9b9cb;
    border-radius: 3px;
    letter-spacing: -1px;
}

.store_search .search_list .search_border .search_cont .text .button_list_type02 li a:hover {
    opacity: 0.8;
    text-decoration: none;
}

/*-------------------------------------
女の子一覧
-------------------------------------*/
.girl_list .syukkin_list > li {
    width: 253px;
    height: 336px;
    margin-right: 0;
    margin-bottom: 4px;
    border-radius: 0;
}

.girl_list .shop_content .content_box {
    padding: 0;
    background-color: #fff;
}

.girl_ichiran .syukkin_list .content {
    padding: 0;
}

.girl_ichiran .syukkin_list .detail-box {
    position: absolute;
    bottom: 0;
    width: 253px;
    padding: 6px;
    background: rgba(0, 0, 0, 0.7);
    box-sizing: border-box;
}

.girl_ichiran .syukkin_list .detail-inner {
    position: relative;
}

.girl_list .shop_content .syukkin_list .content p.other span {
    color: #fff;
}

.shop_syukkin .pagination_menu.first.menu-flex {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    justify-content: space-between;
}

.shop_syukkin .sort select {
    width: auto;
    max-width: inherit;
    height: 28px;
    font-size: inherit;
    line-height: 28px;
    color: inherit;
    margin: 0;
    padding: 0 12px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 3px;
    box-sizing: content-box;
    box-shadow: none;
}

/* --------------------------------------- */
/* 女の子一覧：フォルダ選択 */
.girl_list .view_select {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
}

.girl_list .view_select .lbl {
    width: 100px;
    font-size: 14px;
}

.girl_list .view_select .list_folder {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    width: 940px;
    flex-wrap: wrap;
}

.girl_list .view_select .view_item {
    padding: 0 9px;
}

.girl_list .list_folder a:not(.active):hover {
    text-decoration: underline;
}

.girl_list .list_folder .elm {
    position: relative;
    margin-bottom: 5px;
}

/* 女の子一覧：フォルダ選択 区切り線 */
.girl_list .list_folder .elm:not(:last-child)::after {
    position: absolute;
    top: 6px;
    right: 0;
    width: 2px;
    height: 0.8em;
    background-color: #666;
    content: '';
}

/* 女の子一覧：フォルダ選択 選択中 */
.girl_list .list_folder .active {
    position: relative;
    display: block;
    color: #fff;
    margin-right: 7px;
    margin-left: 5px;
    padding: 1px 10px;
    background-color: #005fbd;
    border-radius: 5px;
    text-decoration: none;
}

.girl_list .list_folder .active::after {
    position: absolute;
    right: 45%;
    right: calc(50% - 8px);
    bottom: -16px;
    z-index: 2;
    border-width: 8px;
    border-style: solid;
    border-color: #005fbd transparent transparent;
    content: '';
}

/* 女の子一覧：フォルダ選択 アイテム0 */
.girl_list .view_select .list_folder .none {
    color: #a0a0a0;
}

/* 女の子一覧：フォルダ選択 フォルダアイコン */
.girl_list .view_select .icon_folder {
    position: relative;
    padding-left: 30px;
}

.girl_list .view_select .icon_folder::before {
    position: absolute;
    top: 2px;
    left: 8px;
    height: 18px;
    font-family: 'icomoon';
    font-size: 18px;
    font-weight: normal;
    line-height: 1em;
    margin: auto;
    content: '\e941';
}

.girl_list .view_select .icon_folder.active::before {
    content: '\e942';
}

/* --------------------------------------- */
.girl_ichiran .syukkin_list .content p.other::after, .sugu_jo .syukkin_list .content p.other::after {
    padding-right: 0;
}

/*-------------------------------------
フェチギャラリー
-------------------------------------*/
.feti-g h2.img {
    margin-bottom: 10px;
}

.feti-g h2.feti-ttl img {
    max-width: 100%;
}

.feti-cont {
    margin-bottom: 30px;
}

.feti-cont section {
    position: relative;
    margin-bottom: 10px;
    padding: 2px;
    background-color: #ffd;
    border: 2px solid #ffa426;
}

.feti-cont .ttl {
    position: relative;
    width: 520px;
    font-size: 22px;
    font-weight: bold;
    padding: 10px 0 10px 50px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.feti-cont .ttl a {
    color: #f44336;
}

.feti-cont .ttl img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 6px;
    z-index: 0;
    width: 36px;
    height: 36px;
    margin: auto;
    background-color: #ffa426;
    border: 1px solid #ffa426;
    border-radius: 36px;
}

.feti-cont .btn-kwsk {
    position: absolute;
    top: 10px;
    right: 10px;
}

.feti-cont .btn-kwsk a {
    position: relative;
    display: block;
    width: 202px;
    height: 32px;
    font-size: 15px;
    font-weight: bold;
    line-height: 32px;
    color: #fff;
    text-align: center;
    background: linear-gradient(to bottom, #ffc093 0%, #ff8002 100%);
    background-color: #ffc093;
    border: 1px solid #e47608;
    border-radius: 25px;
    box-sizing: border-box;
}

.feti-cont .btn-kwsk a:hover {
    opacity: 0.7;
    text-decoration: none;
}

.feti-cont .btn-kwsk a::after {
    display: none;
    font-family: 'Font Awesome 5 Solid';
    font-size: 1rem;
    margin-left: 4px;
    content: '\f105';
    vertical-align: baseline;
}

.feti-cont .btn-kwsk a svg {
    position: absolute;
    top: 7px;
    right: 28px;
}

.feti-cont .img-box {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
}

.feti-cont .main-img, .feti-cont .sub-img {
    position: relative;
    margin-right: 1px;
    background-color: #fff;
    overflow: hidden;
}

.feti-cont .main-img {
    width: 263px;
    height: 263px;
}

.feti-cont .sub-img {
    width: 131px;
    height: 131px;
    margin-bottom: 1px;
}

.feti-cont .sub-img:nth-of-type(4n) {
    margin-right: 0;
}

.feti-cont .flex-img {
    display: flex;
    width: 527px;
    height: 263px;
    flex-wrap: wrap;
}

.feti-g .img-box img {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    margin: auto;
}

.feti-cont .fechi_newicon {
    margin-left: 4px;
    vertical-align: middle;
}

/* --------------------------------------- */
.pagination_menu.first.menu-flex p.sort {
    position: relative;
}

.shop_syukkin .syukkin_list .content .other::after {
    padding-right: 0;
}

.shop_syukkin .shop_content .page_tab .item p {
    width: 65px;
}

.store_search .search_list .search_border .search_title .start_time {
    display: inline-block;
    font-size: 13px;
    font-weight: 400;
    font-style: italic;
    line-height: 1;
    color: #fff;
    margin-left: 8px;
    padding: 2px 4px;
    background-color: #f44336;
    vertical-align: middle;
}

.girl_search .girl_list .time::after {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    width: 92px;
    font-size: 13px;
    line-height: 1;
    color: #fff;
    text-align: right;
    padding: 3px 2px 3px 10px;
    background: #ff3229 url(../images/search/ico_clock.png) no-repeat 4px 50%;
    content: '' attr(data-tag-time);
    letter-spacing: -0.5px;
}

.girl_search .girl_list.list_4column .girl_box {
    width: 250px;
}

.girl_search .girl_list.list_4column .girl_box .frame {
    left: 50%;
    margin-left: -75px;
}

.girl_search .girl_list.list_4column .girl_box {
    width: 189px;
}

.girl_search .girl_list.list_4column .girl_box:nth-of-type(5) {
    margin-right: 5px;
}

.girl_search .girl_list.list_4column .girl_box:nth-child(4n) {
    margin-right: 0;
}

.girl_search .girl_list.list_4column .girl_box .img {
    width: auto;
    margin-bottom: 10px;
    overflow: hidden;
}

.girl_search .girl_list.list_4column .girl_box .img img {
    max-width: 120%;
    max-height: 120%;
}

/*--------------------------------------------------------------
フェチギャラリー(girl_gallery)
--------------------------------------------------------------*/
.girl_gallery {
    margin: 20px auto;
    padding: 5px;
    background-color: #f2f0ed;
}

.girl_gallery .list_gallery {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

.girl_gallery .list_gallery .girl_box {
    width: 256px;
    margin: 0 5px 5px 0;
    padding: 2px;
    background-color: #fff;
    cursor: pointer;
}

.girl_gallery .list_gallery .girl_box:nth-child(3n) {
    margin-right: 0;
}

.girl_gallery .list_gallery .girl_box:nth-child(3n+1) {
    clear: both;
}

.girl_gallery .list_gallery .img {
    position: relative;
    width: 256px;
    height: 258px;
    margin-bottom: 10px;
    overflow: hidden;
}

.girl_gallery .list_gallery img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    margin: auto;
}

.girl_gallery .list_gallery .name {
    width: 100%;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 4px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.girl_gallery .list_gallery .store {
    line-height: 1.1em;
    text-align: center;
    margin-bottom: 4px;
    padding: 4px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.girl_gallery .list_gallery .store a {
    color: #333;
}

.girl_gallery .more_btn img {
    display: block;
    margin: 0 auto;
    padding-top: 5px;
    padding-bottom: 5px;
    cursor: pointer;
}

.more_btn_center {
    display: block;
    margin-top: 10px;
}

.more_btn_center img {
    display: block;
    margin: 0 auto;
    padding-top: 5px;
    padding-bottom: 5px;
    cursor: pointer;
}

#modal-content.search_modal .content .select_box {
    min-width: 50%;
    font-size: 14px;
    margin: 10px;
    padding: 5px 10px;
    background: url(../images/search/side_icon09-1a9fe9baa2f20d727aa65f9a4b3c6c67.png) 175px 10px no-repeat;
    background-position: right 5px center;
    border: 1px solid #ccc;
    border-radius: 5px;
    -webkit-appearance: none;
    appearance: none;
}

#modal-content.search_modal .content .select_box::-ms-expand {
    display: none;
}

#modal-content.search_modal_type02 {
    width: 500px;
    height: 440px;
    overflow: auto;
}

#modal-content.search_modal_type02 .button {
    position: absolute;
    bottom: 0;
    width: 460px;
    background-color: #f5f7f9;
}

#modal-content.search_modal_type02 .button button {
    margin: 0 auto;
}

/* ======================================================
VIP-MAIL店舗一覧
======================================================*/
.vipmail_list {
    padding: 10px;
    background-color: #f2f0ed;
}

.vipmail_list .icon_dx {
    display: inline-block;
    float: right;
    width: 38px;
    font-size: 13px;
    color: #fff;
    text-align: center;
    margin-top: 5px;
    margin-left: 6px;
    background-color: #ffbc00;
    border-radius: 2px;
}

.vipmail_list_block {
    display: flex;
    margin-bottom: 8px;
    padding: 14px;
    background-color: #fff;
    border: 1px solid #b3b3b3;
    border-radius: 5px;
}

.vipmail_list_block .inner_right {
    position: relative;
    display: flex;
    margin-left: 20px;
    flex-direction: column;
}

.shop_name_wrap {
    max-width: 625px;
    overflow: hidden;
}

.vipmail_list_img {
    position: relative;
    width: 105px;
    height: 140px;
    background-color: #fff;
    border: 1px solid #ccc;
    overflow: hidden;
    box-sizing: border-box;
}

.vipmail_list_img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 105px;
    max-height: 140px;
    margin: auto;
}

.inner_right .shop_name {
    font-size: 20px;
    font-weight: bold;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.send_btn {
    width: 268px;
    font-weight: bold;
    color: #333 !important;
    text-align: center;
    margin-top: 12px;
    padding: 6px 8px;
    background-color: #fffecb;
    border: 1px solid #e6df85;
    border-bottom: 3px solid #e6df85;
    border-radius: 5px;
    text-shadow: 1px 0 0 #fff;
}

.send_btn:hover {
    border: 1px solid #e6d085;
    -webkit-transform: translate3d(0, 3px, 0);
    transform: translate3d(0, 3px, 0);
    text-decoration: none;
}

/* ======================================================
マイページ会員登録 会員規約
====================================================== */
.register_kiyaku {
    font-size: 14px;
}

.register_kiyaku h3 {
    color: #fff;
    margin: 12px 0;
    padding: 4px 8px;
    background-color: #43485a;
}

.register_kiyaku h4 {
    margin-top: 14px;
    margin-bottom: 8px;
    padding-left: 8px;
    border-left: 6px solid #737d9e;
}

.register_kiyaku ol {
    padding-left: 15px;
    list-style-type: decimal;
}

.register_kiyaku ol ol {
    padding-left: 15px;
    list-style-type: lower-latin;
}

.register_kiyaku .kiyaku_days {
    margin-top: 20px;
}

/* ======================================================
女の子：メッセージ送信完了
====================================================== */
.send_message {
    font-size: 1.5em;
}

.send_message_sub {
    color: #bb0003;
}

.register_error {
    font-weight: bold;
    color: #f44437;
    margin: 10px 0;
}

/* ======================================================
スグ会える嬢一覧
====================================================== */
.sugujo_list {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
}

.sugulist_inner_box {
    max-width: 340px;
    margin-right: 10px;
    margin-bottom: 15px;
    flex-wrap: nowrap;
    flex: 0 1 340px;
}

.sugulist_inner_box:nth-of-type(3n) {
    margin-right: 0;
}

.sugujo_list .girl_box {
    display: flex;
    min-width: 0;
    border: 2px solid #ccc;
    box-sizing: border-box;
}

.sugujo_list .no1 {
    background-color: #fff3f1;
    border: 2px solid #f44336;
}

.sugujo_list .no1 .img > a::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    content: url(../images/search/search_icon10-6fc95f3693cce3134f10fcab72cac6e4.png);
}

.sugujo_list .repeat {
    background-color: #fff2fb;
    border: 2px solid #ff5890;
}

.sugujo_list .repeat .img > a::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    content: url(../images/search/search_icon11-d2a25e69b4a61186723f4329416052d6.png);
}

.sugujo_list .new_face {
    background-color: #fff9eb;
    border: 2px solid #fa8c0f;
}

.sugujo_list .new_face .img > a::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    content: url(../images/search/search_icon12-6143b910993a305d02081191c862aad6.png);
}

.sugujo_list .girl_box .detail_right {
    min-width: 0;
    padding: 6px;
    overflow: hidden;
}

.sugujo_list .detail_right .frame, .sugujo_list .detail_right .name, .sugujo_list .detail_right .type, .sugujo_list .detail_right .store, .sugujo_list .detail_right .place, .sugujo_list .detail_right .size, .sugujo_list .detail_right .icon {
    padding-left: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.sugujo_list .girl_box .name {
    line-height: 1.6em;
    margin-top: 4px;
}

.sugujo_list .girl_box .name a {
    font-size: 18px;
}

.sugujo_list .detail_right .type {
    font-size: 13px;
}

.sugujo_list .time {
    font-size: 16px;
    font-weight: bold;
    color: #ec1f30;
    margin-bottom: 2px;
    border-bottom: 1px dotted #ff6298;
}

.sugujo_list .inner_mutter_txt {
    font-size: 14px;
    line-height: 25px;
}

.sugujo_list .detail_right .place {
    font-size: 12px;
}

.sugujo_list .detail_right .icon {
    margin-top: 5px;
}

.sugujo_list .store {
    font-weight: bold;
    padding: 2px;
}

.sugujo_list .detail_right .store a {
    font-size: 13px;
    color: #333;
}

.sugujo_list .mutter {
    position: relative;
    top: 0;
    z-index: 100;
    width: 100%;
    margin: 0;
    margin-bottom: 2px;
}

.sugujo_list .img a {
    position: relative;
    display: block;
    width: 150px;
    height: 200px;
    background-color: #eee;
    overflow: hidden;
}

.sugujo_list .img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 150px;
    max-height: 200px;
    margin: auto;
}

/*--------------------------------
  モーダル用css
--------------------------------*/
#modal-content.search_modal h4 {
    color: #ff4848;
    background-color: #ffe7e7;
}

#modal-content .search_areacheck {
    font-size: 14px;
    color: #333;
    margin-left: 16px;
}

#modal-content .search_areacheck strong {
    display: block;
    color: #2655a0;
    margin-bottom: 4px;
}

#modal-content .search_areacheck .closely_info {
    margin-right: 16px;
}

#modal-content .search_areacheck .closely_info::before {
    left: 108px;
}

#modal-content .search_areacheck input {
    margin-right: 6px;
}

#modal-content .search_areacheck .closely_info_icon {
    vertical-align: sub;
}

.search_btn_wrap {
    text-align: center;
    padding: 12px 0;
    background-color: #f5f8ff;
}

/*--------------------------------
  お店一覧 検索
--------------------------------*/
.search_list .search_border .icon > * {
    min-width: 104px;
    text-align: center;
}

.search_list .search_border .inner_left {
    display: inline-block;
    color: #fff;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.search_list .search_title h4 {
    display: inline;
    line-height: 1.5;
    white-space: nowrap;
}

.newstart_shop {
    display: inline-block;
    float: right;
    width: 120px;
    height: 20px;
    font-size: 12px;
    font-weight: normal;
    line-height: 20px;
    color: #fff;
    text-align: center;
    margin-top: 4px;
    margin-left: 10px;
    background-color: #f44336;
    border-radius: 2px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}

/*
  オススメ！注目！の黄色い帯
*/
.search_list .osusume {
    overflow: hidden;
}

.search_list .osusume::after {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 9;
    width: 0;
    height: 0;
    line-height: 0;
    padding: 0 10px;
    border-width: 0 68px 68px 0;
    border-style: solid;
    border-color: transparent #ffda31 transparent transparent;
    content: '';
}

.search_list .osusume.pick::after {
    line-height: 0;
    border-width: 0 86px 86px 0;
    border-color: transparent #ffda31 transparent transparent;
}

.search_list .osusume::before {
    position: absolute;
    top: 14px;
    right: -4px;
    z-index: 10;
    font-size: 14px;
    font-weight: bold;
    color: #52300d;
    text-align: center;
    content: 'オススメ';
    -webkit-transform: rotate(42deg);
    transform: rotate(42deg);
}

.search_list .osusume.pick::before {
    top: 13px;
    right: -7px;
    font-size: 16px;
    line-height: 1;
    content: '注目!!\Aオススメ';
    white-space: pre;
}

/* キャッチコピー（ランキングの物と同じ） */
.search_list .text_box {
    height: 200px;
    font-size: 14px;
    margin-top: 5px;
    padding: 10px 15px 18px;
    border: 1px solid #b3b3b3;
    overflow: hidden;
    letter-spacing: -1px;
}

.search_list .text_box p {
    line-height: 1.6;
}

.search_list .text_box .catch {
    display: block;
    width: 448px;
    font-size: 16px;
    font-weight: bold;
    color: #005fc0;
    padding-bottom: 4px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.search_list .text_box .more {
    color: #005fc0;
    text-align: right;
}

.search_list .text_box .more a::before {
    color: #005fc0;
    content: '>>';
}

.search_list .button_list {
    margin-top: 15px;
}

/*--------------------------------
  おすすめホテル
--------------------------------*/
a.hotel_list_link {
    display: block;
    width: 300px;
    height: 50px;
    line-height: 50px;
    color: #fff;
    text-align: center;
    margin: 20px auto 40px;
    background-color: #1977d6;
    border-radius: 6px;
    box-shadow: 0 2px 0 #1e4e80;
}

a.hotel_list_link::before {
    display: inline-block;
    padding: 3px 6px 0 4px;
    content: url(../images/pages/before-bg/ico_fa-clock-o-e2e2f82d4549ae49f7698de29ef034d8.png);
    vertical-align: middle;
}

a.hotel_list_link:hover {
    opacity: 0.7;
    text-decoration: none;
}

/*--------------------------------
  お得メール
--------------------------------*/
.mail_detail_photo {
    position: relative;
    width: 240px;
    height: 320px;
    text-align: center;
    margin: 0 auto 20px;
    border: 5px solid #e6e6e6;
}

.mail_detail_photo img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 240px;
    max-height: 320px;
    margin: auto;
}

/* ======================================================
エリア一発検索
======================================================*/
.area_ippatsu {
    margin-top: 30px;
}

.area_ippatsu ul {
    float: left;
    margin: 0 5px 10px;
}

.area_ippatsu li {
    float: left;
    font-size: 13px;
    padding: 0 2px;
}

.area_ippatsu li a {
    color: #111;
}

.area_ippatsu li::after {
    padding-left: 4px;
}

.area_ippatsu li:not(:last-child)::after {
    content: '|';
}

.area_ippatsu li.check::after {
    color: #ec407a;
    content: '||';
}

.area_ippatsu li.check {
    font-weight: bold;
    color: #ec407a;
}

.area_ippatsu .list2 li.check::after {
    color: #1975d3;
    content: '||';
}

.area_ippatsu .list3 .check::after {
    color: #3baa31;
    content: '||';
}

.area_ippatsu .list1 .check a {
    color: #ec407a;
}

.area_ippatsu .list2 .check a {
    color: #1975d3;
}

.area_ippatsu .list3 .check a {
    color: #3baa31;
}

.area_ippatsu h5 {
    float: left;
    font-size: 13px;
    color: #fff;
    margin: 0 0 0 8px;
    padding: 2px 5px;
    background-color: #ec4079;
}

.area_ippatsu .list2 h5 {
    background-color: #1975d3;
}

.area_ippatsu .list3 h5 {
    background-color: #3baa31;
}

.ippatsu_area_inner_ul {
    float: left;
    width: calc(100% - 72px);
    margin-left: 10px;
}

.store_search .search_pager .count {
    padding-top: 0;
}

.store_search .search_pager .button {
    padding-top: 0;
}

/* --------------------------------------- */
/* エリア版エリア一発検索 */
.tokai-pages .links {
    font-size: 14px;
    padding: 10px 20px 12px;
    border: 1px solid #b3b3b3;
    overflow: hidden;
}

.tokai-pages .links-color1, .tokai-pages .links-color2 {
    float: left;
    width: 66px;
    height: 24px;
    font-size: 14px;
    line-height: 24px;
    margin: 0 15px 0 0;
    clear: both;
}

.tokai-pages .links-color1, .tokai-pages .links-color-ul1 ul {
    margin-bottom: 10px;
}

.tokai-pages .links-color1 {
    background-color: #ec407a;
}

.tokai-pages .links-color2 {
    background-color: #1976d2;
}

.tokai-pages .links-color1 a, .tokai-pages .links-color2 a {
    display: block;
    color: #fff;
    text-align: center;
}

.tokai-pages [class^='links-color-ul'] {
    float: left;
}

.tokai-pages [class^='links-color-ul'] ul {
    width: 670px;
    margin: 0;
    clear: both;
}

.tokai-pages [class^='links-color-ul'] .check {
    clear: both;
}

.tokai-pages [class^='links-color-ul'] .check a {
    color: inherit;
}

.tokai-pages .links-color-ul1 .check {
    color: #ec407a;
}

.tokai-pages .links-color-ul2 .check {
    color: #1976d2;
}

.tokai-pages [class^='links-color-ul'] .check::after {
    font-weight: bold;
    padding: 0 5px;
    content: '||';
}

.tokai-pages .links-color-ul1 .check::after {
    color: #ec407a;
}

.tokai-pages .links-color-ul2 .check::after {
    color: #1976d2;
}

.tokai-pages [class^='links-color-ul'] li::after {
    font-weight: bold;
    padding: 0 5px;
    content: '|';
}

.tokai-pages [class^='links-color-ul'] li:last-of-type::after {
    padding: 0;
    content: '';
}

/* --------------------------------------- */
#search_side .pop_border.syurui .clearfix > ul {
    float: left;
    width: auto;
    min-width: 155px;
}

#search_side .pop_border.syupatsu > .clearfix {
    padding: 20px 20px 10px;
}

#search_side .pop_border.syupatsu .clearfix > ul {
    float: left;
    width: 155px;
}

#search_side .pop_border.syupatsu ul li {
    font-size: 13px;
    color: #005fc0;
    padding-bottom: 0;
    padding-left: 0;
}

#search_side .pop_border.syupatsu h4 {
    padding-bottom: 10px;
}

#modal-content.search_modal h4 {
    color: #ff4848;
    background-color: #ffe7e7;
}

#modal-content.search_modal .gyosyu_wrap + .gyosyu_wrap {
    float: left;
}

#modal-content .search_areacheck {
    font-size: 14px;
    color: #333;
    margin-left: 16px;
}

#modal-content .search_areacheck strong {
    display: block;
    color: #2655a0;
    margin-bottom: 4px;
}

#modal-content .search_areacheck .closely_info {
    margin-right: 16px;
}

#modal-content .search_areacheck .closely_info::before {
    left: 108px;
}

#modal-content .search_areacheck input {
    margin-right: 6px;
}

#modal-content .search_areacheck .closely_info_icon {
    vertical-align: sub;
}

/* ======================================================
今日の最新ニュース
====================================================== */
.lat_cont {
    font-size: 15px;
    color: #333;
    margin: 0 0 4px;
    padding: 10px 8px;
    background-color: #ffffdc;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.latest_news .under-data {
    line-height: 1.8em;
}

.latest_news .under-data .shop_logo {
    max-width: 75px;
    max-height: 100px;
}

.latest_news .under-data .shop_name {
    font-size: 15px;
    font-weight: bold;
    color: #005fc0;
}

.latest_news .icon_dx {
    height: 20px;
    font-size: 14px;
    line-height: 20px;
    color: #fff;
    padding: 0 8px;
    background-color: #ff9700;
    border-radius: 2px;
}

.latest_news #article-list li {
    display: flex;
}

.latest_news .inner_box.left {
    margin-right: 14px;
}

.latest_news .inner_box.right {
    flex: 1;
}

.latest_news .img_wrap {
    position: relative;
    width: 118px;
    height: 158px;
    overflow: hidden;
}

.latest_news .img_wrap img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 118px;
    max-height: 100%;
    margin: auto;
}

.latest_news .store_detail_link {
    display: block;
    font-weight: normal;
    text-align: right;
}

/* ======================================================
イベント開催店
====================================================== */
.event_shop .osusume {
    position: relative;
    overflow: hidden;
}

.event_shop .osusume::before {
    position: absolute;
    top: -12px;
    right: -50px;
    z-index: 999;
    font-size: 14px;
    font-weight: bold;
    color: #52300d;
    text-align: center;
    padding: 30px 40px 4px;
    background-color: #ffda31;
    content: 'オススメ';
    -webkit-transform: rotate(42deg);
    transform: rotate(42deg);
}

.event_shop .osusume.pick::before {
    top: -14px;
    font-size: 16px;
    line-height: 1;
    content: '注目!!\Aオススメ';
    white-space: pre;
}

/* 表示件数横絞り込み */
.pagination_menu + .fl_inner .sort {
    display: inline-block;
    font-size: 14px;
    margin-right: 10px;
}

.pagination_menu + .fl_inner .sort select {
    width: auto;
    max-width: inherit;
    height: 28px;
    font-size: inherit;
    line-height: 28px;
    color: inherit;
    margin: 0;
    padding: 0 12px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 3px;
    box-sizing: content-box;
    box-shadow: none;
}

.sort + .link_setting {
    padding-bottom: 4px;
}

/* ======================================================
協力店
====================================================== */
.supporter .store_wrap {
    display: flex;
    height: 52px;
    padding: 8px 0;
    background-color: #343434;
}

.supporter .store_name {
    display: inline-block;
    font-size: 12px;
    color: #fff;
    padding: 0 14px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.supporter .store_name h4 {
    display: inline;
    font-size: 20px;
}

.supporter .store_name h4 a {
    color: #fff;
    vertical-align: middle;
}

.supporter .supporter_cont {
    position: relative;
    height: 357px;
    margin-bottom: 25px;
    padding: 20px;
    border: 1px solid #aaa;
    border-top: 4px solid #aaa;
}

.supporter .text {
    float: right;
    width: 500px;
    margin-left: 20px;
}

.supporter .img {
    float: left;
    width: 236px;
}

.supporter .img li {
    position: relative;
    float: left;
    width: 113px;
    height: 150px;
    text-align: center;
    margin: 0 5px 5px 0;
}

.supporter .img li img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.supporter .img .button {
    padding-top: 10px;
    clear: left;
}

.supporter .img .button a {
    display: block;
    width: 231px;
    height: 27px;
    font-size: 13px;
    font-weight: bold;
    color: #222;
    text-align: center;
    padding-top: 5px;
    background: url(../images/ranking/button06-4e5f4571934b714c9bbb814792539a95.png);
}

.supporter .img .button a:hover {
    opacity: 0.6;
    text-decoration: none;
}

.supporter .rank_cont .text {
    float: right;
    width: 480px;
    margin-left: 20px;
}

.supporter .info {
    font-size: 15px;
    color: #333;
    padding-bottom: 6px;
}

.supporter .info_list li {
    display: inline;
    font-size: 11px;
    line-height: 1;
    color: #1976d2;
    margin: 0 5px 5px 0;
    padding: 2px;
    border: 1px solid #1976d2;
    border-radius: 3px;
}

.supporter .info_list li.red {
    color: #fff;
    background-color: #f44336;
    border: 1px solid #f44336;
    border-bottom: 1px solid #ae2015;
    border-radius: 3px;
}

.supporter .info_list .gray {
    color: #fff;
    background-color: #ccc;
    border: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

.supporter .info_list li.sugu {
    font-size: 14px;
    color: #111;
    border: none;
}

.supporter .info_list li.sugu span {
    color: #f44336;
}

.supporter .text_box {
    height: 200px;
    font-size: 14px;
    margin-top: 5px;
    padding: 10px 15px 18px;
    border: 1px solid #b3b3b3;
    overflow: hidden;
    letter-spacing: -1px;
}

.supporter .text_box p {
    line-height: 1.6;
}

.supporter .text_box .catch {
    font-size: 16px;
    font-weight: bold;
    color: #005fc0;
    padding-bottom: 4px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.supporter .text_box .more {
    color: #005fc0;
    text-align: right;
}

.supporter .text_box .more a::before {
    color: #005fc0;
    content: '>>';
}

.supporter .button_list {
    margin-top: 15px;
}

.supporter .button_list li {
    float: left;
    width: 92px;
    text-align: center;
    margin: 0 5px 0 0;
}

.supporter .button_list li:last-child {
    margin: 0;
}

.supporter .button_list li a {
    display: block;
    height: 25px;
    font-size: 11px;
    color: #111;
    padding: 7px 0 0;
    background: url(../images/ranking/button07-4b6bdbf3642114d55ad3bc7bb914d5dc.png);
    letter-spacing: -1px;
}

.supporter .button_list li a:hover {
    opacity: 0.8;
    text-decoration: none;
}

/*50音絞り込み*/
.j_syllabary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    margin: 0 auto 20px;
    padding: 8px 0;
    background-color: #f2f8ff;
    list-style: none;
    justify-content: space-around;
    -webkit-flex-flow: row wrap;
}

.j_syllabary li {
    font-size: 16px;
    color: #ccc;
    text-align: center;
    flex: 1 1 auto;
}

.j_syllabary a {
    padding: 1px 4px;
    text-decoration: underline;
}

.j_syllabary li.active {
    font-weight: bold;
    color: #000;
}

.inner_select.ticket .icon {
    vertical-align: top;
}

.supporter .store_name .icon {
    display: inline-block;
    float: right;
    width: 140px;
    height: 20px;
    font-size: 12px;
    font-weight: normal;
    line-height: 20px;
    color: #fff;
    text-align: center;
    margin-top: 4px;
    margin-left: 10px;
    border-radius: 2px;
    box-shadow: 0 1px 2px rgb(0, 0, 0, 0.4);
    text-shadow: 0 1px 0 rgb(0, 0, 0, 0.2);
}

.supporter .store_name .icon.ok_3k {
    background-color: #f573b7;
}

.supporter .store_name .icon.ok_5k {
    background-color: #9f7fcd;
}

.supporter .store_name .icon.ok_10k {
    background-color: #e3a50b;
}

/* ======================================================
ログインメッセージ
====================================================== */
.login_message {
    color: #f00;
}

/* メールアドレス変更 */
.address_box {
    font-size: 13px;
    margin-bottom: 8px;
    padding: 8px;
    background-color: #f1f1f1;
    border-radius: 4px;
}

.address_box .address {
    font-weight: bold;
    margin-bottom: 8px;
    padding: 8px 4px;
    background-color: #fff;
    border-radius: 4px;
    word-break: break-all;
}

.change_address_caution {
    width: 580px;
    font-size: 13px;
    margin: 0 auto;
}

.change_address_caution input[type='text'] {
    width: 90px;
    margin: 0 4px 0 0;
    padding: 5px;
    background-color: #fff;
    border: 1px solid #a0a0a0;
    border-radius: 4px;
}

.login h3:first-child {
    margin-top: 0;
}

.newpass_hl {
    margin-top: 30px !important;
}

.newpass_txt {
    font-size: 13px;
}

.newpass_txt strong {
    color: #f00;
}

/* ======================================================
マイページ会員登録(register) / 掲載店募集(wanted)
※フォーム部分デザイン共通のため
====================================================== */
.yg_common.cont01 h2, .register .cont01 h2, .wanted .cont01 h2 {
    font-size: 24px;
    line-height: 1;
    margin: 10px 0 0;
    padding: 10px 15px;
    background-color: #feeceb;
    border-bottom: 3px solid #f44336;
}

.yg_common.cont01 .bg, .register .cont01 .bg, .wanted .cont01 .bg {
    padding: 20px;
    background-color: #f8f6f4;
}

.register .cont01 .clearfix li, .wanted .cont01 .clearfix li {
    float: left;
    width: 500px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    padding: 7px 0 10px;
}

.register .cont01 .border, .wanted .cont01 .border {
    margin-top: 20px;
    padding: 30px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.yg_common.cont01 .border {
    padding: 20px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.register .cont01 table, .wanted .cont01 table {
    margin-top: 20px;
    border: 1px solid #c2dcf2;
}

.register .cont01 th, .wanted .cont01 th {
    position: relative;
    width: 230px;
    font-size: 16px;
    text-align: left;
    padding: 20px 10px;
    border: 1px solid #c2dcf2;
    border-left: 3px solid #4b69c5;
    vertical-align: middle;
}

.register .cont01 th .kome, .wanted .cont01 th .kome {
    font-size: 12px;
    color: #f44336;
    letter-spacing: -1px;
}

.register .cont01 th .need, .wanted .cont01 th .need {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    height: 22px;
    font-size: 14px;
    color: #fff;
    margin: auto 0;
    padding: 0 10px;
    background-color: #f44336;
    border-radius: 3px;
}

.register .cont01 td, .wanted .cont01 td {
    font-size: 12px;
    padding: 20px 10px;
    border: 1px solid #c2dcf2;
    vertical-align: middle;
}

.register .cont01 td .input01, .wanted .cont01 td .input01 {
    width: 388px;
}

.register .cont01 td .input02, .wanted .cont01 td .input02 {
    width: 198px;
}

.register .cont01 td input, .wanted .cont01 td input {
    padding: 5px;
}

.register .cont01 td label {
    font-size: 14px;
    margin-right: 10px;
}

.register .cont01 td select {
    width: 100px;
}

.register .cont01 .check {
    text-align: center;
    margin: 20px 0;
    padding: 15px 0;
    background-color: #fff;
}

.register .cont01 .check.error {
    background-color: #ffe5e8;
    border: 1px solid #ff007f;
}

.register .pw_check {
    margin-top: 8px;
}

.check.error .notice_input_error {
    font-size: 13px;
}

.register .cont01 .button a, .wanted .cont01 .button a {
    display: block;
    width: 370px;
    height: 50px;
    font-size: 18px;
    font-weight: bold;
    line-height: 50px;
    color: #fff;
    text-align: center;
    margin: 10px auto 13px;
    background-color: #f7931e;
    background-image: none;
    border: none;
    border-radius: 6px;
    box-sizing: border-box;
    cursor: pointer;
    vertical-align: middle;
    text-decoration: none;
    outline: 0;
    text-shadow: 0 1px 0 rgba(170, 97, 17, 0.6);
    -webkit-appearance: none;
}

.register .cont01 .button a:not(:active), .wanted .cont01 .button a:not(:active) {
    box-shadow: 0 3px 0 #a54838, 0 1px 0 rgba(255, 255, 255, 0.6) inset;
}

.register .cont01 .button a:active, .wanted .cont01 .button a:active {
    transform: translateY(3px);
}

.register .cont02 {
    position: relative;
    height: 780px;
    background-color: #feeb9e;
}

.register .cont02 h2 {
    margin-top: 50px;
    padding: 1px 0;
}

.register .cont02 h2 img {
    display: block;
    margin-top: -20px;
}

.register .cont02 ul {
    position: absolute;
    top: 75px;
}

.register .cont02 li {
    float: left;
    width: 480px;
    height: 320px;
    margin: 0 0 20px 20px;
    background: #fff url(../images/register/register_bg02.png) no-repeat;
    border: 5px solid #fff;
    border-radius: 5px;
}

.register .cont02 li h3 {
    text-align: center;
    margin: 30px 0 10px;
}

.register .cont02 li p {
    text-align: center;
}

.register .cont02 li .button a {
    padding-left: 15px;
    background: url(../images/mypage/login_icon01-9c997a321ad5c5c5eaaf5cd626b6de89.png) 0 4px no-repeat;
}

.register .cont02 li .red {
    color: #f44336;
}

/*  register confirm
--------------------------------------------------------------*/
.confirm_btn {
    text-align: center;
}

.register .confirm_btn .button, .wanted .confirm_btn .button {
    width: 820px;
    margin: 0 auto;
}

.register .confirm_btn .button01, .register .confirm_btn .button02, .wanted .confirm_btn .button01, .wanted .confirm_btn .button02 {
    display: inline-block;
    width: 370px;
    margin: 20px;
}

.register .confirm_btn .button02 a, .wanted .confirm_btn .button02 a {
    color: #333;
    background-color: #d6d6d6;
    text-shadow: none;
}

.register .confirm_btn .button02 a:not(:active), .wanted .confirm_btn .button02 a:not(:active) {
    box-shadow: 0 3px 0 #a0a0a0, 0 1px 0 rgba(255, 255, 255, 0.6) inset;
}

/* 3STEP*/
.regist_step {
    display: flex;
    text-align: center;
    margin: 10px 10px 16px;
    justify-content: center;
    align-items: center;
}

.regist_step li {
    position: relative;
    height: 42px;
    font-size: 15px;
    font-weight: bold;
    margin-right: 20px;
    background-color: #bbb;
    flex: 1 0;
}

.regist_step li span {
    color: #fff;
}

.regist_step li.active {
    background-color: #4a68c5;
}

.regist_step li.comp {
    margin-right: 0;
}

.regist_step .txt {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 7px;
    display: inline-block;
    line-height: 42px;
    margin: 0 auto;
}

.regist_step li.comp span {
    left: 0;
}

.regist_step li:not(.comp)::after {
    position: absolute;
    top: 0;
    right: -58px;
    display: block;
    width: 0;
    height: 0;
    border-top: solid 20px transparent;
    border-right: solid 40px transparent;
    border-bottom: solid 22px transparent;
    border-left: solid 18px #bbb;
    content: '';
}

.regist_step li.active::after {
    border-left: solid 18px #4a68c5;
}

.regist_caution {
    font-size: 12px;
    color: #777;
    margin-top: 10px;
}

.address_box {
    margin-bottom: 10px;
    padding: 8px;
    background-color: #e6e6e6;
}

.address_box > p {
    color: #4a67c5;
}

.address_box .address {
    font-weight: bold;
    color: #000;
    margin-top: 4px;
    padding: 8px;
    background-color: #fff;
    border-radius: 4px;
    box-sizing: border-box;
    word-wrap: break-word;
}

.register .hl_sub {
    margin-top: 20px;
    margin-bottom: 8px;
    padding-left: 10px;
    border-left: 6px solid #334a94;
}

.register input[type='email'] {
    height: 36px;
    font-size: 13px;
    line-height: 36px;
    margin-bottom: 20px;
    padding: 0 10px;
    border: 2px solid #ccc;
    border-radius: 6px;
    box-sizing: border-box;
}

.register .btn {
    display: block;
    width: 370px;
    height: 42px;
    font-size: 18px;
    font-weight: bold;
    line-height: 42px;
    color: #fff;
    text-align: center;
    margin: 20px auto 0;
    padding: 0;
    background: url(../images/mypage/setting_button01-83f306872a288eff7d36f1f1d86ff8ae.png) no-repeat;
    border: 0 none;
    cursor: pointer;
    letter-spacing: 2px;
    text-shadow: 1px 1px 0 #e37408;
}

.regist_text, .regist_text strong {
    font-size: 14px;
    color: #7d84a2;
    text-align: center;
}

.regist_red_message {
    font-size: 18px;
    font-weight: bold;
    color: #f00;
    text-align: center;
    margin-bottom: 16px;
    padding: 8px;
    background-color: #feeceb;
}

/*  register thanks
--------------------------------------------------------------*/
.register_thanks .main_cont .bg > p {
    font-size: 18px;
    text-align: center;
    padding-bottom: 10px;
}

.register_thanks .main_cont .border {
    font-size: 16px;
    margin: 0 auto;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.register_thanks .main_cont .button01 a {
    position: relative;
    display: block;
    width: 350px;
    height: 42px;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    margin: 0 auto;
    padding: 6px 0 0 20px;
    background: url(../images/register/register_button01-852404e7cfe431672280bc07a10ea3ea.png) no-repeat;
    text-shadow: 2px 0 1px #138ec8;
}

.register_thanks .main_cont .button01 a::before {
    position: absolute;
    top: 7px;
    left: 78px;
    content: url(../images/register/register_icon01-076b94de5c3e6af391a8a58f66d1a568.png);
}

.register_thanks .main_cont .button01 a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.register_thanks .main_cont .button01 + p {
    text-align: center;
}

.register_thanks .main_cont .button02 a {
    position: relative;
    display: block;
    width: 350px;
    height: 42px;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    margin: 20px auto 0;
    padding: 6px 0 0 20px;
    background: url(../images/register/register_button02-8384b54fc83bb4b925a58b59159c380f.png) no-repeat;
    text-shadow: 2px 0 1px #df7207;
}

.register_thanks .main_cont .button02 a::before {
    position: absolute;
    top: 7px;
    left: 18px;
    content: url(../images/register/register_icon02-3131c168062ae2c2ac3a7a20c69f657b.png);
}

.register_thanks .main_cont .button02 a:hover {
    opacity: 0.8;
    text-decoration: none;
}

.register_thanks .main_cont .button02 + p {
    text-align: center;
}

.register_thanks .main_cont .button02 + p span {
    color: #f44336;
}

.regist_lottely_list_imgwrap img {
    width: 100%;
}

.register_thanks .regist_step {
    margin: 0 0 10px;
}

.regist_lottely_list_imgwrap {
    position: relative;
}

.regist_lottely_img_txt {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    width: 100%;
    font-size: 24px;
    font-weight: bold;
    color: #e92928;
    text-align: center;
    padding-left: 38px;
    box-sizing: border-box;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    vertical-align: middle;
}

.about .regist_lottely_img_txt {
    padding-left: 86px;
}

.regist_lottely_img_txt .small_txt {
    font-size: 14px;
    font-weight: normal;
}

.lottely_list .lottely_time {
    font-size: 14px;
    color: #e92a28;
}

.lottely_list .lottely_time_icon {
    display: inline-block;
    font-size: 13px;
    color: #fff;
    margin-right: 4px;
    padding: 1px 8px 0;
    background-color: #e92928;
}

.lottely_list li {
    position: relative;
    display: block;
    margin-bottom: 8px;
    padding-right: 45px;
    background-color: #fff;
    border: 2px solid #ccc;
}

.lottely_list li a::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 35px;
    height: 100%;
    background-color: #4a67c5;
    background-image: url(../images/register/arrow_right_white-1d49b7126135c4d30a0ca360c0fa81c3.png);
    background-repeat: no-repeat;
    background-position: center;
    content: '';
}

.lottely_list li a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 8px;
}

.lottely_list li a:hover {
    opacity: 0.8;
    cursor: pointer;
    text-decoration: none;
}

.lottely_list .lottely_title {
    color: #005fc0;
    margin-top: 4px;
}

.lottely_list .small_txt {
    font-size: 14px;
}

.lottely_list {
    margin: 0 14px;
}

.regist_lottely_list {
    margin-top: 28px;
    padding-bottom: 8px;
    background-color: #fafeb7;
}

.mail_confirm_txt {
    font-size: 17px;
    font-weight: bold;
    line-height: 1.6em;
}

.thanksmessage {
    text-align: center;
    margin-bottom: 24px;
}

/* --------------------------------------- */
/* フェードイン・フェードアウトするリンク */
.link_fade:hover {
    animation-name: fade;
    animation-duration: 500ms;
}

@keyframes fade {
    0% {
        opacity: 1;
    }
    1% {
        opacity: 0.5;
    }
    100% {
        opacity: 1;
    }
}

/* --------------------------------------- */
/*======================================================
業界最高割引 プリントページ用
======================================================*/
.discount_print {
    background: #fff !important;
}

#pages.discount_print header {
    position: relative;
    width: 800px;
    margin: 0 auto 12px;
    background-color: #fff;
    clear: both;
    overflow: hidden;
}

#pages.discount_print .bk-area .inner .left-area {
    padding-bottom: 0;
}

.discount_print .content_box {
    width: 800px;
    margin: 0 auto 20px;
}

.discount_print .print_btn {
    position: absolute;
    right: 0;
    bottom: 8px;
    width: 200px;
    color: #fff;
    text-align: center;
    padding: 8px;
    background-color: #1f6ccc;
    border-radius: 6px;
    box-shadow: 0 4px 0 #40546d;
}

.discount_print .print_btn:hover {
    -webkit-transform: translate3d(0, 3px, 0);
    transform: translate3d(0, 3px, 0);
    text-decoration: none;
    box-shadow: none;
}

.discount_print .close_btn {
    position: absolute;
    right: 0;
}

.discount_print .detail_discount {
    margin-right: 20px;
    flex: 1 0 0;
}

.discount_print .detail_discount:last-child {
    margin-right: 0;
}

.discount_print .detail_discount .title {
    font-size: 15px;
    font-weight: bold;
    margin: 8px 0;
    align-self: center;
}

.discount_print .detail_discount .price02 {
    position: relative;
    z-index: 0;
    float: none;
    width: 100%;
    height: 90px;
    font-size: 15px;
    font-weight: normal;
    text-align: center;
    margin: 4px auto 0;
    padding: 12px 0 8px 44px;
    border: 3px double #ffe059;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: justify;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.detail_discount a:hover {
    text-decoration: none;
}

.discount_print .detail_discount .price02.price_default {
    padding: 8px 0;
    background-image: url(../images/pages/article/discount/bg_y_dot-c1b7f525be93a91df3177fc0bdbaa9f8.png);
    background-repeat: repeat;
}

/* フリー文言：1行のみ */
.discount_print .txt_free {
    font-size: 23px;
    font-weight: bold;
    color: #f52011;
}

/* フリー文言：2行目が存在する場合 */
.discount_print .txt_free:nth-last-of-type(2) {
    display: block;
    margin-bottom: 0;
}

/* 特記事項 */
.discount_print .border h4 span {
    font-size: 15px;
}

.discount_print .border p {
    height: auto;
}

.discount_print .border p span {
    display: block;
    margin-right: 20px;
    background: url(../images/common/bg_dot-line-cc0b58e878c6bfb570ed6dd0f49aabd1.gif);
}

.discount_print .icon01, .discount_print .icon02 {
    font-size: 13px;
    color: #fff;
    padding: 1px 8px;
    background-color: #7aba2f;
    border: 1px solid #5ca30a;
}

.discount_print .icon02 {
    background-color: #ec407a;
    border: 1px solid #d1255f;
}

.discount_print .discount_percent {
    position: absolute;
    top: 10px;
    left: 6px;
    width: 70px;
    height: 70px;
    font-size: 13px;
    font-weight: bold;
    line-height: 1.2em;
    text-align: center;
    padding-top: 20px !important;
    overflow: inherit;
    white-space: inherit;
    text-overflow: inherit;
}

.discount_print .text_box .price01 {
    font-size: 14px;
}

.discount_print .text_box .num {
    font-size: 28px;
    font-weight: bold;
}

.discount_print .discount_percent .num {
    font-size: 19px;
}

.discount_print .hl {
    margin-bottom: 20px;
}

.discount_print .inner_wrap {
    margin-top: 20px;
    padding: 20px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.discount_print .date {
    font-size: 18px;
    font-weight: bold;
}

.discount_print .date span {
    color: #f00;
}

.discount_print .print_img_box {
    width: 100px;
    margin-right: 20px;
}

.discount_print .print_img_box img {
    max-width: 100px;
}

.discount_print .border {
    margin-top: 20px;
}

.discount_print .qr_sp {
    font-size: 13px;
    font-weight: bold;
}

.discount_print .qr_box {
    text-align: center;
    margin-top: 20px;
}

.discount_print .shop_header {
    margin-top: 20px;
    padding: 20px;
    background-color: #f8f6f4;
    border-radius: 4px;
}

.discount_print .shop_header p {
    margin-bottom: 8px;
}

.discount_print .shop_header span {
    display: inline-block;
    width: 95px;
    font-weight: bold;
    text-align: center;
    margin-right: 20px;
    padding: 6px 0;
    background-color: #dedede;
    border-radius: 4px;
}

.discount_print img.qr {
    width: 100px;
    height: 100px;
}

@media print {
    body {
        -webkit-print-color-adjust: exact;
    }
}

.mail_detail_photo {
    text-align: center;
    margin: 0 auto 20px;
}

/* ======================================================
割引詳細 追加
====================================================== */
.shop_price .card img {
    width: 80px;
    margin-right: 20px;
}

/*======================================================
業界最高割引 プリントページ用
======================================================*/
.discount_print .shop_info {
    margin-top: 20px;
    padding: 20px;
    background-color: #f8f6f4;
    border-radius: 4px;
}

.discount_print .shop_info p {
    margin-bottom: 8px;
}

.discount_print .shop_info span {
    display: inline-block;
    width: 95px;
    font-weight: bold;
    text-align: center;
    margin-right: 20px;
    padding: 6px 0;
    background-color: #dedede;
    border-radius: 4px;
}

/* ======================================================
夜ガイニュース 詳細
====================================================== */
.news.title .store_info .content h3.name a {
    display: block;
    font-size: 18px;
    color: #000;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.news.title .store_info .content p.phone {
    position: relative;
    top: 3px;
    right: 0;
    float: right;
    height: 37px;
    font-size: 24px;
    padding-top: 20px;
    background: url(../images/pages/news/phone2-0b907066418433d2b6939c41c1525c7c.png) right top no-repeat;
    letter-spacing: -1px;
}

.news_detail .detail_nav .detail_nav_link {
    position: relative;
    display: inline-block;
    width: 256px;
    height: 40px;
    font-size: 13px;
    font-weight: bold;
    line-height: 41px;
    color: #000;
    margin-right: 5px;
    padding-right: 20px;
    background: linear-gradient(to bottom, #fff, #e4e4e4);
    background-color: #f1f1f1;
    border: 1px solid #e4e4e4;
    border-radius: 6px;
    overflow: hidden;
    box-sizing: border-box;
    white-space: nowrap;
    text-indent: 0.8em;
    text-overflow: ellipsis;
    box-shadow: 0 2px 0 #d6d6d6;
}

.news_detail .detail_nav .detail_nav_link:last-child {
    margin-right: 0;
}

.news_detail .content .top {
    overflow: hidden;
}

.sns_btn {
    line-height: 10px;
}

.sns_btn .btn {
    display: inline-block;
}

/* ======================================================
お店TOP お店の情報部分 修正
====================================================== */
.shop_common .main_content .shop img.btn {
    position: relative;
    top: 0;
    right: 0;
    margin-bottom: 14px;
}

.phone-site_wrap {
    text-align: right;
    margin-left: 30px;
}

/* --------------------------------------- */
/* bxsliderの基本レイアウト */
/* --------------------------------------- */
.bxslider::after {
    display: block;
    height: 0;
    visibility: hidden;
    clear: both;
    content: '.';
}

.bxslider > li {
    float: left;
    width: 126px;
    margin-bottom: 10px;
}

.bxslider > li:first-child, .bxslider > li:nth-child(6n+1) {
    margin-left: 24px;
}

.bx-viewport .bxslider > li:first-child, .bx-viewport .bxslider > li:nth-child(6n+1) {
    margin-left: 0;
}

/* --------------------------------------- */
/* 店舗情報アイコン */
/* --------------------------------------- */
/* アイコン */
.info > .icon {
    display: inline-block;
    height: 20px;
    line-height: 20px;
    color: inherit;
    margin-bottom: 2px;
    padding: 0 20px;
    background-repeat: no-repeat;
    background-position: 0 center;
    overflow: hidden;
    box-sizing: border-box;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.info > .icon.hours {
    background-image: url(../images/ranking/icon29-1fb9a60122618a917622d7961c9df065.png);
}

.info > .icon.price {
    background-image: url(../images/ranking/icon31-ca2463774dbf9d77c2a94b8be735ef15.png);
}

.info > .icon.nav {
    background-image: url(../images/ranking/icon30-71e036a22f73a692c34c34b7dd4b83bd.png);
}

.supporter .info > .icon.nav, .ranking_page .rank_cont .info > .icon.nav, .search_list .search_border .info > .icon.nav {
    display: block;
}

/* --------------------------------------- */
/* 流れるテキスト */
/* --------------------------------------- */
.marquee_on {
    animation-name: marquee;
    animation-duration: 10s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

.marquee_on.fast {
    animation-duration: 7s;
}

.sugujo_list .marquee_on {
    animation-duration: 12s;
}

.sugujo_list .marquee_on.fast {
    animation-duration: 10s;
}

@keyframes marquee {
    from {
        transform: translate(0%);
    }
    99%, to {
        transform: translate(-100%);
    }
}

/* --------------------------------------- */
/* 検索結果メッセージ */
.result_msg {
    text-align: center;
    margin: 30px auto;
    padding: 22px;
    background-color: #eee;
}

.result_msg .txt_main {
    font-size: 1.2em;
    font-weight: bold;
}

.result_msg .txt_sub {
    margin-top: 6px;
}

/* --------------------------------------- */
/* ひとくちメモ */
/* --------------------------------------- */
.tip {
    font-size: 14px;
}

.tip .hl {
    height: 46px;
    font-size: 20px;
    font-weight: normal;
    line-height: 46px;
    color: #fff;
    padding: 0 20px 0 44px;
    background-color: #333;
    background-image: url(../images/pages/icon/icon-a11-2aa7811c8c4f8b5d73a3c39cd14e8422.jpg);
    background-repeat: no-repeat;
    background-position: left 10px center;
    box-sizing: border-box;
}

.tip .tip_content {
    padding: 16px;
    border: 1px solid #f3f3f3;
}

.tokai-pages2-color2 .tip .hl {
    background-image: url(../images/pages/icon/icon-b11-4dce33c396c41cccc37aa6a50d48fc3f.jpg);
}

.tokai-pages .tip .hl {
    background-image: url(../images/pages/icon/icon19-bdf4a6a298360e28c2f5f551283f268f.jpg);
}

/*----------------------------------------------------
/* 汎用 モーダルウィンドウ画面デザイン
----------------------------------------------------*/
.mdl_box {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1001;
    display: none;
    width: 480px;
    height: 270px;
    margin: auto;
    padding: 20px;
    background-color: #fff;
    border-radius: 2px;
    box-sizing: border-box;
    box-shadow: 0 1px 2px #000;
}

.mdl_box.long {
    height: 300px;
}

.mdl_box.short {
    height: 210px;
}

.mdl_box iframe {
    width: 100%;
    height: 100%;
}

/* 選択肢 */
.list_opt {
    margin: 10px auto;
    border: 1px solid #ccc;
    border-radius: 3px;
    overflow: hidden;
}

.list_opt .elm {
    position: relative;
    text-align: center;
}

.list_opt .elm:first-child:nth-last-child(2), .list_opt .elm:first-child:nth-last-child(2) ~ .elm {
    width: 50%;
}

.list_opt .elm:first-child:nth-last-child(2) + .elm {
    border-left: 1px solid #ccc;
}

.list_opt .lbl {
    display: block;
    height: 36px;
    line-height: 36px;
}

.list_opt .rdb {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 20px;
    margin: auto;
}

.list_opt .rdb:checked + .lbl {
    font-weight: bold;
    background-color: #e0f2f9;
}

.box_confirm {
    display: flex;
    height: 230px;
    box-sizing: border-box;
    flex-direction: column;
}

.box_confirm.short {
    height: 170px;
}

.box_confirm.long {
    height: 250px;
}

/* テキスト */
.box_confirm .box_msg {
    overflow: hidden;
    flex: 1 0 auto;
}

.box_confirm .shopname, .box_confirm .type {
    display: inline-block;
}

.box_confirm .type {
    font-size: 0.9em;
    color: #666;
}

.box_confirm .txt_info {
    margin-bottom: 4px;
    padding: 4px;
    background-color: #e8edef;
}

.box_confirm .shopname, .box_confirm .name, .box_confirm .shop_info {
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* ボタン枠 */
.box_confirm .box_btn {
    overflow: hidden;
    flex: 0 0 auto;
}

/* 選択削除 */
.select_del {
    margin: 10px auto 20px;
}

.select_del:first-child {
    margin-bottom: 10px;
}

.select_del.fl_base {
    justify-content: center;
}

.select_del.fl_base .fl_inner:first-child {
    text-align: left;
    margin-right: 20px;
}

.select_del .lbl {
    display: inline-block;
    height: 38px;
    line-height: 38px;
    padding: 0 20px;
    background-color: #f2f0ed;
    border-radius: 6px;
    user-select: none;
}

.select_del .ckb {
    margin-right: 2px;
}

/* 選択削除：確認画面 */
.box_selected {
    height: 140px;
    font-size: 12px;
    margin-top: 10px;
    overflow-x: hidden;
}

.box_selected ul {
    margin-right: 8px;
    margin-left: 20px;
    list-style: circle;
}

.box_selected li {
    margin-bottom: 4px;
}

/* --------------------------------------- */
/* 各TOP　抽選会　バナー */
/* --------------------------------------- */
.campaign-area {
    margin: 6px 0 20px;
    background: url(../images/pages/banner/red_chusen_bg-17d341086228269a9d4a5a915a10de57.png);
    background-repeat: no-repeat;
    box-sizing: border-box;
}

.cp_flbase {
    bottom: 0;
    display: flex;
    width: 100%;
    height: 100%;
    padding-top: 78px;
    padding-bottom: 10px;
    justify-content: space-between;
    align-items: stretch;
}

.campaign-area {
    position: relative;
}

.cp_block {
    position: relative;
    display: flex;
    width: 100%;
    min-height: 120px;
    text-align: center;
    margin-right: 13px;
    background: rgba(0, 0, 0, 0.5);
    border: 1px solid #3b518f;
    border-radius: 4px;
    overflow: hidden;
    box-sizing: border-box;
    box-shadow: 0 0 4px #000;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    flex: auto;
}

.cp_block:first-child {
    margin-left: 14px;
}

.cp_block:only-child {
    max-width: 540px;
    margin: 0 auto;
}

.cp_block:only-child .cp_day {
    font-size: 13px;
}

.cp_title {
    max-width: 100%;
    font-size: 17px;
    color: #fff;
    padding: 8px;
}

.cp_block:only-child .cp_title {
    font-size: 21px;
}

.cp_title:last-child {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.cp_title:last-child .cp_tl_inner {
    flex: 0 0 auto;
}

.cp_tl_inner {
    max-width: 100%;
    line-height: 1.3;
    box-sizing: border-box;
}

.cp_block:hover {
    text-decoration: none;
}

.cp_block:hover .cp_head, .cp_block:hover .cp_day {
    opacity: 0.8;
}

.cp_day {
    position: relative;
    width: 101%;
    font-size: 12px;
    font-weight: bold;
    color: #1d1401;
    padding: 3px 0;
    padding: 4px 0;
    background: linear-gradient(to bottom, #f3de98 0%, #bb8638 100%);
    box-sizing: border-box;
}

.cp_head {
    width: 101%;
    font-size: 14px;
    color: #fff;
    padding: 3px 0;
    background: #331a8c; /* Old browsers */
    background: linear-gradient(to bottom, #40648c 0%, #183456 100%);
    border: 1px solid #8d9bbd;
    border-bottom: 3px solid #ffc42f;
    box-sizing: border-box;
}

.cp_day::after {
    position: absolute;
    top: 47%;
    right: 15px;
    width: 6px;
    height: 6px;
    margin-top: -4px;
    border: 0;
    border-top: solid 3px #7e6236;
    border-right: solid 3px #7e6236;
    content: '';
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.cp_comment {
    font-size: 14px;
    color: #fa3031;
    margin-top: -6px;
}

.campaign-area .winning {
    border: 1px solid #c53234;
}

.campaign-area .winning .cp_day {
    color: #ffd145;
    background: linear-gradient(to bottom, #e63225 0%, #9e2016 100%);
}

.campaign-area .winning .cp_day:after {
    border-color: #ffd145;
}

.campaign-area .winning .cp_head {
    background: linear-gradient(to bottom, #ff5454 0%, #d01717 100%);
    border: 1px solid #da5e52;
    border-bottom: 3px solid #ffd365;
}

.blink_cp_head {
    -webkit-animation-name: anime-blink2;
    animation-name: anime-blink2;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

@-webkit-keyframes anime-blink2 {
    0% {
        opacity: 1;
    }
    79% {
        opacity: 1;
    }
    80% {
        opacity: 0.1;
    }
    85% {
        opacity: 0.1;
    }
    86% {
        opacity: 1;
    }
    89% {
        opacity: 1;
    }
    90% {
        opacity: 0.1;
    }
    95% {
        opacity: 0.1;
    }
    96% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

@keyframes anime-blink2 {
    0% {
        opacity: 1;
    }
    79% {
        opacity: 1;
    }
    80% {
        opacity: 0.1;
    }
    85% {
        opacity: 0.1;
    }
    86% {
        opacity: 1;
    }
    89% {
        opacity: 1;
    }
    90% {
        opacity: 0.1;
    }
    95% {
        opacity: 0.1;
    }
    96% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

/* --------------------------------------- */
/* 縦横比固定サイズ可変 */
/* --------------------------------------- */
.frame_ratio {
    position: relative;
    width: 100%;
    height: auto;
}

.ratio_16-9:before {
    display: block;
    padding-top: 56%;
    content: '';
}

.inner_ratio {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    overflow: hidden;
}

.img_thumb {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

/* --------------------------------------- */
/* loading */
/* --------------------------------------- */
.box_load {
    text-align: center;
    margin: 10px auto;
}

.box_load .circle {
    animation: lotate 0.8s linear infinite;
}

@keyframes lotate {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* --------------------------------------- */
/* スマホ・PCデザイン切り替えリンク用 */
/* --------------------------------------- */
.sp_view_wrap {
    width: 100%;
    min-width: 1080px;
    padding: 0;
    background: #fff;
}

.sp_view {
    display: inline-block;
    width: calc(100% - 46px);
    max-width: 100%;
    max-height: 100px;
    font-size: 48px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    margin: 20px;
    padding: 10px 0;
    background: #fceabb;
    background: linear-gradient(to bottom, #ff9c21 0%, #ff8d00 50%, #f37500 51%, #ff9c21 100%);
    border: 3px solid #ea8007;
    border-radius: 8px;
    box-shadow: 0 6px 0 #d07214;
    text-shadow: 0 -3px 0 #b76200;
}

.sp_view > span {
    position: relative;
    display: inline-block;
    color: #fff;
    padding: 0 0 0 80px;
    vertical-align: middle;
    text-decoration: none;
}

.sp_view > span::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 20px;
    height: 20px;
    margin: auto;
    border: 20px solid transparent;
    border-left: 30px solid #895223;
    box-sizing: border-box;
    content: '';
    vertical-align: middle;
}

/* --------------------------------------- */
/* FAQ */
/* --------------------------------------- */
.faq_wrap {
    margin-bottom: 32px;
}

.faq_jump {
    padding: 8px;
    background: #f2f3f5;
}

.faq_jump .faq_jump_inner {
    position: relative;
    display: inline-block;
    line-height: 2;
    text-align: center;
    padding: 0 16px 0 12px;
}

.faq_jump .faq_jump_inner a {
    color: #333;
    text-decoration: underline;
}

.faq_jump .faq_jump_inner a:before {
    position: absolute;
    top: 3px;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    margin: auto;
    border: 4px solid transparent;
    border-top: 6px solid #ffa52c;
    content: '';
}

.box_question {
    position: relative;
    display: block;
    font-weight: bold;
    padding: 8px;
    padding-left: 28px;
    background: #ecf5fd;
}

.box_question:before {
    position: absolute;
    top: 11px;
    left: 8px;
    display: inline-block;
    width: 16px;
    height: 16px;
    font-size: 12px;
    font-weight: normal;
    line-height: 16px;
    color: #fff;
    text-align: center;
    background: #616cb5;
    border-radius: 4px;
    content: 'Q';
    vertical-align: baseline;
}

.box_answer:before {
    position: absolute;
    top: 11px;
    left: 8px;
    display: inline-block;
    width: 16px;
    height: 16px;
    font-size: 12px;
    font-weight: normal;
    line-height: 16px;
    color: #fff;
    text-align: center;
    background: #ffa52c;
    border-radius: 4px;
    content: 'A';
    vertical-align: baseline;
}

.box_question .yoasobicon_circle-arrow-bottom::before {
    display: inline-block;
    transition: all 0.5s ease;
}

.box_question.active .yoasobicon_circle-arrow-bottom::before {
    transform: rotate(180deg);
}

.l_font {
    color: #3d4c88;
}

.block_hl {
    position: relative;
    font-size: 20px;
    font-weight: bold;
    margin: 16px 0;
    padding: 6px 16px;
}

.block_hl::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 6px;
    height: 25px;
    margin: auto;
    background-color: #fd5d47;
    content: '';
}

.faq_oneblock {
    background: #fff;
    border: 2px solid #c3c7d6;
}

.faq_oneblock + .faq_oneblock {
    margin-top: 10px;
}

.box_answer {
    position: relative;
    padding: 8px;
    padding-left: 28px;
}

.box_answer > a {
    color: #00106a;
    text-decoration: underline;
    word-break: break-word;
}

.faq .number_ol {
    margin: 4px 0;
    padding: 8px;
    background: #f2f3f5;
    border-radius: 4px;
    list-style: inside decimal;
}

.faq .caution {
    font-size: 13px;
    line-height: 1.5;
    color: #6474b3;
}

/* --------------------------------------- */
/* コンテストの景品・詳細 */
/* --------------------------------------- */
.contest_prize .bg {
    font-size: 16px;
    margin-bottom: 25px;
}

.contest_prize .cont01 .bg {
    padding: 20px;
    background-color: #f8f6f4;
}

.contest_prize .cont01 .border {
    padding: 30px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.contest_prize .sub_hl {
    color: #fff;
    margin: 12px 0;
    padding: 4px 8px;
    background-color: #43485a;
}

.cont_prize_btnlink {
    justify-content: space-between;
}

.contest_prize .bg h4 {
    font-size: 18px;
    color: #f44336;
    margin-bottom: 8px;
}

.contest_prize .bg h5 {
    font-size: 14px;
    color: #545a6c;
    margin: 10px 0;
}

.contest_prize .bg .txt_caution {
    font-size: 14px;
    color: #666;
}

.contest_prize a.rank_move_btn {
    display: inline-block;
    width: 226px;
    font-size: 14px;
    padding-right: 20px;
}

.prize_table {
    width: 100%;
    color: #333;
    margin: 6px 0;
    border: 5px solid #e4cd5c;
}

.prize_table th {
    width: 45%;
    text-align: center;
    margin: 0;
    vertical-align: middle;
}

.prize_table tr {
    font-size: 1rem;
    text-align: center;
}

.prize_table tr:nth-child(2n) {
    background: #fdffde;
}

.prize_table th > span {
    font-size: 1.4em;
    font-weight: bold;
    margin-right: 2px;
}

.prize_table tr.no1 {
    color: #e43737;
}

.prize_table tr.no1, .prize_table tr.no1 td {
    font-size: 1.5rem;
    font-weight: bold;
}

.prize_table tr.no2, .prize_table tr.no2 td {
    font-size: 1.3rem;
    font-weight: bold;
}

.prize_table td {
    text-align: center;
    margin: 0;
    padding: 5px 0;
}

.prize_table td span {
    font-size: 1.4em;
    font-weight: bold;
    margin-right: 4px;
}

.prize_table tr.no2, .prize_table tr.no3 {
    color: #b58f1a;
}

.contest_prize .c_red {
    color: #f00;
}

/*  system message
--------------------------------------------------------------*/
.system h2 {
    font-size: 24px;
    line-height: 1;
    margin: 10px 0 0;
    padding: 10px 15px;
    background-color: #feeceb;
    border-bottom: 3px solid #f44336;
}

.system .bg {
    padding: 20px 20px 10px;
    background-color: #f8f6f4;
}

.system .border {
    margin: 0 auto 30px;
    padding: 20px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
}

/* --------------------------------------- */
/* TOP共通サイドカラム */
/* --------------------------------------- */
.yg_side_menu {
    float: left;
    width: 220px;
}

.yg_side_menu .box_common {
    display: block;
    margin-bottom: 10px;
}

.yg_side_menu .link_btn {
    display: block;
}

/* 徹底解析 */
.side_kaiseki h3 {
    background: linear-gradient(to bottom, #5a5a5a, #000 100%);
    background-color: #fff;
    border-bottom: 3px solid #ccc;
    box-sizing: border-box;
    text-decoration: none;
}

.side_kaiseki {
    border: 2px solid #333;
}

.side_kaiseki ul {
    padding: 6px;
}

.side_kaiseki li + li {
    margin-top: 2px;
}

.side_kaiseki li a {
    display: block;
    line-height: 1.2;
    color: #0060c1;
    padding: 10px;
    padding-right: 18px;
    background-image: url(../images/pages/side1/arrow4-54ef6a8274cfaf8796265b92d6d55167.png);
    background-repeat: no-repeat;
    background-position: 185px center;
    border: 1px solid #cbcbcb;
    border-radius: 3px;
    text-decoration: none;
}

.side_kaiseki li a:hover {
    background-color: #eee;
}

/* キーワード検索 */
.side_search {
    padding: 8px 10px;
    background-color: #f8f6f4;
    border-width: 1px;
    border-style: solid;
    border-color: #c7c7c7;
    overflow: hidden;
}

.txb_search {
    float: left;
    font-family: YuGothic, '游ゴシック', sans-serif;
    font-size: 13px;
    padding: 0 8px 0 5px;
    border: 1px solid #c7c7c7;
    border-radius: 0;
    box-sizing: border-box;
    vertical-align: top;
    -webkit-appearance: none;
}

.txb_search::placeholder {
    color: #ababab;
}

.yg_side_menu .txb_search {
    width: 165px;
    height: 35px;
}

.yg_side_menu .txb_search + input {
    float: left;
}

/* 切り替えタブ */
.side_search .rdb, .side_search .box_input {
    display: none;
}

.side_search #search_shop:checked ~ .box_input.shop, .side_search #search_item:checked ~ .box_input.item {
    display: block;
}

.side_search .lbl {
    display: inline-block;
    float: left;
    width: 60px;
    height: 24px;
    font-size: 12px;
    line-height: 24px;
    text-align: center;
    padding: 0 6px;
    background-color: #c7c7c7;
    border-radius: 6px 6px 0 0;
    box-sizing: border-box;
    cursor: pointer;
}

.side_search .lbl:last-of-type {
    margin-left: 4px;
}

.side_search .rdb:checked + .lbl {
    font-weight: bold;
    color: #fff;
    background-color: #0060c1;
}

.side_search .box_input {
    margin-bottom: 6px;
    clear: both;
}

/* 画像ボタン */
.imgbtn {
    margin: 0;
    padding: 0;
    background-color: transparent;
    border: 0 none;
    cursor: pointer;
    outline: none;
}

.imgbtn img {
    vertical-align: baseline;
}

/* 人気ワード */
.side_search h3 {
    font-size: 14px;
    text-align: center;
    margin-bottom: 4px;
    padding-top: 4px;
    border-top: 1px dashed #aaa;
}

.side_search .list p {
    float: left;
}

.side_search .list a {
    display: block;
    width: 98px;
    height: 22px;
    font-size: 12px;
    font-weight: bold;
    line-height: 22px;
    color: #005fc0;
    text-align: center;
    margin-bottom: 2px;
    padding: 0 6px;
    background-color: #fff;
    border-radius: 4px;
    overflow: hidden;
    box-sizing: border-box;
    vertical-align: bottom;
    white-space: nowrap;
    text-decoration: none;
    text-overflow: ellipsis;
}

.side_search .list a:hover {
    background-color: #bad0e7;
}

.side_search .list p:nth-child(even) {
    margin-left: 1px;
}

.side_search .list p:nth-child(odd) {
    margin-right: 1px;
}

/* --------------------------------------- */
/* サイドメニュー：共通コンテンツ */
.side_content_menu {
    padding: 6px;
    background-color: #ecf0f3;
    border: 1px solid #ccc;
    overflow: hidden;
}

.side_content_menu .link_btn {
    font-size: 16px;
    font-weight: bold;
    color: #333;
    padding: 6px 12px;
    background: linear-gradient(to bottom, #fcfcfc, #fcfcfc 50%, #eaeaea 51%, #fcfcfc 100%);
    background-color: #fff;
    border: 1px solid #b2b2b2;
    border-radius: 4px;
    box-sizing: border-box;
    text-decoration: none;
}

.side_content_menu .link_btn::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 4px;
    height: 20px;
    margin: auto;
    background-color: #ff4141;
    content: '';
}

.side_content_menu .link_btn.arrow_icon::after {
    right: 5px;
    font-size: 14px;
    color: #989898;
}

.side_content_menu .link_btn + .link_btn {
    margin-top: 6px;
}

/* カラー設定：デリヘル */
.tokai-pages2-color2 .side_content_menu .link_btn::before {
    background-color: #1fb7e1;
}

/* カラー設定：キャンパブ */
.tokai-pages2-color3 .side_content_menu .link_btn::before {
    background-color: #00b113;
}

/* メインコンテンツ */
.side_content_menu .link_btn .lbl {
    font-size: 1.3em;
}

/* 金券Q&A */
.side_content_menu .link_btn + .link_txt {
    display: block;
    font-size: 12px;
    text-align: center;
    margin-top: 6px;
    padding: 4px;
    border: 1px solid #ddd;
}

/* ホテル検索 */
.side_content_menu .link_txt + .hotel {
    margin-top: 6px;
}

.side_content_menu .link_banner.hotel {
    font-size: 12px;
    color: #fff;
    padding: 4px 8px 8px;
    background-color: #c06;
    text-decoration: none;
}

.side_content_menu .link_banner.hotel.arrow_icon::after {
    right: 6px;
    font-size: 10px;
    opacity: 1;
}

/* --------------------------------------- */
/* サイドメニュー：業種版コンテンツ */
.yg_side_menu .box_1click {
    padding: 0;
}

.yg_side_menu .box_1click .hl {
    font-size: 14px;
    color: #fff;
    text-align: center;
    padding: 4px;
    background-color: #32312d;
}

.side_content_menu.box_1click .link_btn::before {
    background: linear-gradient(to bottom, #eacc89, #b79441 100%);
}

/* --------------------------------------- */
/* サイドメニュー：おすすめ店 */
.side_recommend {
    margin-bottom: 10px;
}

.side_recommend .inner_recommend {
    font-size: 13px;
    text-align: right;
    border-width: 0 1px 1px;
    border-style: solid;
    border-color: #b3b3b3;
    overflow: hidden;
}

/* 大見出し */
.side_recommend .hl_main {
    height: 24px;
    font-size: 14px;
    line-height: 24px;
    color: #fff;
    text-align: center;
    background: linear-gradient(to bottom, #4d4d4d, #000);
    border-width: 1px 1px 0;
    border-style: solid;
    border-color: #000;
}

/* 内容 */
.side_recommend .list_cond {
    text-align: left;
    margin: 6px 0;
}

.side_recommend .list_cond .elm {
    padding: 3px 6px 3px 20px;
    text-indent: -20px;
}

.side_recommend .list_cond a {
    padding-left: 20px;
    background-image: url(../images/ranking/side_icon10-5655c72b4ee7f61eb26cbebcc4fc892a.png);
    background-repeat: no-repeat;
    background-position: center left 10px;
}

/* --------------------------------------- */
/* サイドメニュー：エリア版コンテンツ */
.side_area_contents {
    background-color: #1a1a1a;
    overflow: hidden;
}

.side_area_contents .hl {
    color: #fff;
    padding: 2px 8px;
}

.side_area_contents .link_btn {
    min-height: 30px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.2;
    color: #fff;
    padding: 5px 15px;
    background: linear-gradient(to bottom, #808080, #636363 80%);
    background-color: #808080;
    border-radius: 4px;
    text-decoration: none;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset;
}

.just_price + .list_1click_search .link_btn {
    font-size: 16px;
    line-height: 30px;
}

.side_area_contents .link_btn:hover {
    opacity: 0.7;
}

.side_area_contents .link_btn::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 4px;
    height: 20px;
    margin: auto;
    content: '';
}

.side_area_contents .link_btn.arrow_icon::after {
    font-size: 14px;
    color: #e2e2e2;
}

.side_area_contents .area_sub, .area_sub + .list_1click_search .link_btn::before {
    background-color: #d63d70;
}

.side_area_contents .area_genre {
    background-color: #4c8f0f;
}

.side_area_contents .just_price, .just_price + .list_1click_search .link_btn::before {
    background-color: #fe970f;
}

.side_area_contents .link_btn .area {
    display: inline-block;
    margin-top: 6px;
    margin-right: 2px;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
}

.side_area_contents .link_btn .num {
    display: inline-block;
    font-size: 11px;
    font-weight: normal;
}

/* genre */
.side_area_contents .genre .link_btn .title {
    display: inline-block;
    margin-top: 6px;
    margin-left: 55px;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
}

.side_area_contents .genre .link_btn::before {
    width: 60px;
    height: 40px;
    background-image: url('../images/genre/area_lbl_genre-icon-e6951de3e6acc9f8bf681ad271738863.png');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 0 40px;
}

.side_area_contents .link_btn.genre_1::before {
    background-position: 5px 0;
}

.side_area_contents .link_btn.genre_2::before {
    background-position: 5px -40px;
}

.side_area_contents .link_btn.genre_3::before {
    background-position: 5px -80px;
}

.side_area_contents .link_btn.genre_4::before {
    background-position: 5px -120px;
}

.side_area_contents .link_btn.genre_5::before {
    background-position: 5px -160px;
}

.side_area_contents .link_btn.genre_6::before {
    background-position: 5px -200px;
}

.side_area_contents .link_btn.genre_7::before {
    background-position: 5px -240px;
}

.side_area_contents .link_btn.genre_8::before {
    background-position: 5px -280px;
}

.side_area_contents .link_btn.genre_9::before {
    background-position: 5px -320px;
}

.side_area_contents .link_btn.genre_10::before {
    background-position: 5px -360px;
}

.side_area_contents .link_btn.genre_11::before {
    background-position: 5px -400px;
}

.side_area_contents .link_btn.genre_12::before {
    background-position: 5px -440px;
}

.side_area_contents .link_btn.genre_13::before {
    background-position: 5px -480px;
}

.side_area_contents .link_btn.genre_14::before {
    background-position: 5px -520px;
}

.side_area_contents .link_btn.genre_15::before {
    background-position: 5px -560px;
}

.side_area_contents .link_btn.genre_16::before {
    background-position: 5px -600px;
}

.side_area_contents .link_btn.genre_17::before {
    background-position: 5px -640px;
}

.side_area_contents .link_btn.genre_18::before {
    background-position: 5px -680px;
}

/* other */

.side_area_contents .list_1click_search + .hl, .side_area_contents .just_price ~ .list_other-guide {
    margin-top: 16px;
}

.yg_side_menu .list_1click_search li, .side_area_contents .list_other-guide li {
    margin: 5px;
}

/* サイドメニュー：エリア版 求人特集 */
.side_job_list {
    padding: 0 0 2px 0;
    background-color: #1a1a1a;
}

.side_job_list .hl {
    text-align: center;
}

.side_job_list .hl a {
    font-size: 14px;
    color: #fff;
}

.side_job_list ul {
    padding: 4px;
    background-color: #1a1a1a;
}

.side_job_list li {
    padding: 4px;
    background-color: #fff;
    border: 1px solid #cbcbcb;
    border-radius: 3px;
    overflow: hidden;
}

.side_job_list li + li {
    margin-top: 3px;
}

.side_job_list .img {
    width: 202px;
    text-align: center;
}

.side_job_list .img img {
    max-width: 100%;
    max-height: 87px;
}

.side_job_list .text {
    line-height: 1.2rem;
    margin-top: 7px;
    padding: 0 2px;
}

.side_job_list .title, .side_job_list .data {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.side_job_list .title {
    font-size: 16px;
    font-weight: bold;
}

.side_job_list .data {
    font-size: 12px;
}

.side_job_list .read_more {
    height: 36px;
    font-size: 13px;
    line-height: 36px;
    text-align: right;
    margin-right: 6px;
    padding-right: 16px;
    background-image: url(../images/common/arrow_right-20017ee21232d65e82d9b90d2fa798e5.png);
    background-repeat: no-repeat;
    background-position: right center;
}

.side_job_list .read_more a {
    color: #fff;
}

/* --------------------------------------- */
/* サイドメニュー：PRバナー */
.side-pr_banner_box {
    width: 220px;
    text-align: center;
    margin-bottom: 10px;
    overflow: hidden;
}

.side-pr_banner_box .bnr_wrap {
    padding: 10px 8px 4px;
    border: 2px solid #fb6095;
    border-top: none;
    box-sizing: border-box;
}

.side-pr_banner_box h2 {
    font-size: 15px;
    color: #fff;
    padding: 3px 0;
    background-color: #fb6095;
    text-indent: 0.5em;
    letter-spacing: 0.5em;
}

.side-pr_banner_box .bnr {
    margin-bottom: 10px;
}

.side-pr_banner_box .bnr:last-child {
    margin-bottom: 0;
}

.side-pr_banner_box a.bnr_shoplink {
    display: block;
    font-size: 13px;
    margin-top: 4px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    word-break: break-all;
}

.side-pr_banner_box img {
    display: block;
    width: 100%;
    border: 1px solid #ccc;
    box-sizing: border-box;
}

.tokai-pages #search_side + .side-pr_banner_box {
    float: left;
    clear: both;
}

/* --------------------------------------- */
/* サイドメニュー：グラビア特集リンク */
.side_gravure {
    text-align: center;
    margin-bottom: 10px;
    padding-top: 4px;
    background-image: linear-gradient(-45deg, #febbd4 25%, #fee7f1 25%, #fee7f1 50%, #febbd4 50%, #febbd4 75%, #fee7f1 75%, #fee7f1);
    background-size: 12px 12px;
    border: 2px solid #febbd4;
}

.side_gravure .lbl {
    margin: auto;
}

.side_gravure .banner_link {
    display: block;
    margin: 4px;
    background-color: #fff;
    border: 1px solid #ccc;
}

.side_gravure .banner {
    width: 100%;
}

.side_gravure .link_more {
    position: relative;
    display: block;
    font-size: 12px;
    color: #333;
    text-align: right;
    padding: 4px 6px;
    background-color: #febbd4;
}

.side_gravure .link_more::before {
    bottom: -10px;
    left: 55%;
    display: inline-block;
    width: 0;
    height: 0;
    margin-right: 4px;
    border-width: 4px 0 4px 6px;
    border-style: solid;
    border-color: transparent transparent transparent #666;
    content: '';
}

/* ======================================================
掲載店募集(wanted)
====================================================== */
.wanted .form-parts {
    height: 40px;
    box-sizing: border-box;
}

.wanted label {
    font-size: 15px;
}

.wanted label + label {
    margin-left: 20px;
}

.wanted textarea.form-parts {
    max-width: 650px;
    height: 150px;
    border: 1px solid #ccc;
    border-radius: 4px;
    overflow: auto;
}

.wanted .txt_info {
    margin: 20px 0 0;
    padding: 16px;
    background-color: #e8f3ff;
}

.wanted .yg_recruit_txt {
    font-size: 1.2em;
    font-weight: bold;
    color: #1d2974;
    margin-bottom: 10px;
}

.wanted .announce {
    font-size: 14px;
    color: #0165a6;
}

/* --------------------------------------- */
/* TOP：重要なお知らせ */
.box_i_notices {
    font-size: 12px;
    margin-top: 6px;
}

.box_i_notices.fl_base {
    flex-wrap: wrap;
}

.box_i_notices .fl_inner {
    min-width: 0;
    overflow: hidden;
    box-sizing: border-box;
    flex: 1 1 50%;
}

.box_i_notices .fl_inner:nth-child(odd) {
    padding-right: 2px;
}

.box_i_notices .fl_inner:nth-child(even) {
    padding-left: 2px;
}

.box_i_notices .fl_inner:nth-child(n+3) {
    margin-top: 4px;
}

.box_i_notices .fl_inner:nth-child(odd):last-child, .box_i_notices .fl_inner:only-child {
    padding-right: 0;
}

.box_i_notices .arrow_icon {
    color: #333;
    padding: 8px 30px 8px 10px;
    background-color: #fff;
    overflow: hidden;
    transition: background-color 0.1s ease;
    white-space: nowrap;
    text-decoration: none;
    text-overflow: ellipsis;
}

.box_i_notices .arrow_icon:hover {
    background-color: #ffd;
}

.box_i_notices .arrow_icon::after {
    color: #999;
}

.mark_important {
    font-weight: bold;
    color: #f00;
}

.box_i_notices .date {
    color: #999;
}

/* サイドメニュー：お知らせ */
.side_announce {
    font-size: 12px;
    background-color: #f8f6f4;
    border-width: 1px;
    border-style: solid;
    border-color: #c7c7c7;
}

.mypage .side_announce {
    margin-bottom: 10px;
}

.side_announce .lbl_announce {
    font-weight: bold;
    padding: 4px 0 2px 12px;
}

.side_announce .list_announce {
    margin: 0 4px 4px;
    border-radius: 4px;
    overflow: hidden;
}

.side_announce .list_announce .elm {
    position: relative;
    padding: 4px 8px 4px 18px;
    background-color: #fff;
    word-break: break-all;
}

.list_announce .elm + .elm {
    border-top: 1px dotted #ccc;
}

.side_announce .list_announce .elm:before {
    position: absolute;
    top: 10px;
    left: 8px;
    display: block;
    width: 0;
    height: 0;
    border: transparent solid 4px;
    border-left-color: #666;
    content: '';
    vertical-align: middle;
}

/* --------------------------------------- */
/* お知らせ詳細 */
/* --------------------------------------- */
.announce_detail .hl {
    text-align: center;
    margin-bottom: 6px;
    padding-bottom: 6px;
    border-bottom: 2px solid #999;
}

.announce_detail .date {
    text-align: right;
    margin-bottom: 6px;
}

.announce_detail .signature {
    margin-top: 20px;
}

.announce_detail .download_info {
    margin-bottom: 8px;
}

.announce_detail .simple_btn {
    display: inline-block;
    min-width: 160px;
    font-weight: normal;
    line-height: 34px;
    color: #444;
    text-align: center;
    padding: 0 12px;
    background-color: #fff;
    border: 1px solid #9a9a9a;
    border-radius: 4px;
    cursor: pointer;
    -webkit-user-select: none;
    vertical-align: middle;
    white-space: nowrap;
    text-decoration: none;
    margin-bottom: 8px;
}

/* --------------------------------------- */
/* 予算で遊べるお店 */
/* --------------------------------------- */
.side_content_menu .just_price + .list_1click_search li {
    margin-right: 0;
    margin-left: 0;
}

.side_content_menu .just_price + .list_1click_search .link_btn {
    background: #fcfcfc;
}

.just_price#contents h2 {
    margin-bottom: 12px;
}

.just_price {
    position: relative;
}

.just_price .article-pager .button li {
    width: auto;
    min-width: 98px;
}

.just_price .article-pager .button li a {
    padding: 0 10px;
}

.just_price .box_msg {
    position: fixed;
    right: auto;
    bottom: 4px;
    left: auto;
    z-index: 100;
    width: 800px;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    padding: 10px 14px;
    background-color: rgba(0, 0, 0, 0.6);
    border-radius: 10px;
    box-sizing: border-box;
    text-shadow: 0 1px 0 #000;
}

.just_price .other_price {
    font-size: 16px;
    margin-bottom: 12px;
}

.just_price .other_price .arrow_icon {
    position: relative;
    display: inline-block;
    width: 195px;
    height: 36px;
    line-height: 36px;
    color: #211b13;
    text-align: center;
    padding-right: 20px;
    background-color: #fff;
    border: 1px solid #f90;
    border-radius: 4px;
    box-sizing: border-box;
    text-decoration: none;
}

.just_price .other_price .arrow_icon:hover {
    background-color: #ffd;
}

.just_price .other_price .arrow_icon::after {
    z-index: 0;
    width: 16px;
    height: 16px;
    color: #fff;
    background-color: #f90;
    border-radius: 14px;
    content: '';
}

.just_price .other_price .arrow_icon::before {
    position: absolute;
    top: 0;
    right: 14px;
    bottom: 0;
    z-index: 1;
    width: 4px;
    height: 4px;
    margin: auto;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: '';
    transform: rotate(45deg);
}

.just_price .other_price .arrow_icon.selected {
    font-weight: bold;
    color: #fff;
    text-align: center;
    padding: 0;
    background-color: #f90;
}

.just_price .other_price .icon {
    font-size: 1.2em;
    color: #f00;
}

.just_price .other_price .arrow_icon.selected::before, .just_price .other_price .arrow_icon.selected::after {
    display: none;
}

.list_justprice {
    margin-bottom: 10px;
    padding: 10px 10px 2px;
    background-color: #f8f6f4;
}

.list_justprice.fl_base {
    flex-wrap: wrap;
    justify-content: space-between;
}

.list_justprice .fl_main {
    flex-grow: 1;
}

.list_justprice .elm {
    position: relative;
    margin-top: 0;
    margin-bottom: 8px;
    padding: 10px;
    background-color: #fff;
    border: 1px solid #b3b3b3;
    border-radius: 4px;
    overflow: hidden;
    box-sizing: border-box;
    flex: 0 0 387px;
}

.list_justprice .elm:not(:last-child) {
    margin-bottom: 8px;
}

/* 予算で遊ぶ一覧：店舗ロゴ */
.list_justprice .fl_inner.frame_logo {
    width: auto;
    padding-right: 10px;
    flex: 0 0 auto;
}

.list_justprice .c_img {
    position: relative;
    width: 90px;
    height: 120px;
    text-align: center;
    margin-bottom: 10px;
}

.list_justprice .c_img img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

/* 予算で遊ぶ一覧：リンクボタン */
.list_justprice .box_btn .fl_inner {
    margin-top: 8px;
    flex: 1 0 50%;
}

.list_justprice .box_btn .fl_inner:nth-child(odd) {
    padding-right: 4px;
}

.list_justprice .box_btn .fl_inner:nth-child(even) {
    padding-left: 4px;
}

.list_justprice .link_btn {
    display: inline-block;
    width: 100%;
    height: 32px;
    font-size: 14px;
    font-weight: bold;
    line-height: 30px;
    text-align: center;
    margin-bottom: 3px;
    padding: 0 10px;
    border-width: 1px;
    border-style: solid;
    border-radius: 4px;
    box-sizing: border-box;
    text-decoration: none;
}

.list_justprice .link_btn.item {
    color: #fff;
    background-color: #ff7991;
    border-color: #af5466;
    box-shadow: #a23b55 0 2px 0;
}

.list_justprice .link_btn.shop {
    color: #222;
    background-color: #eaf2f5;
    border-color: #c4d8e3;
    box-shadow: 0 2px #abbcc4;
}

.list_justprice .link_btn:active {
    transform: translate3d(0, 2px, 0);
    box-shadow: none;
}

.list_justprice .link_btn img {
    margin-right: 4px;
    vertical-align: middle;
}

/* 予算で遊ぶ一覧：店舗情報 */
.list_justprice .shop_info {
    margin-bottom: 8px;
    min-width: 1px;
}

/* 予算で遊ぶ一覧：店名 */
.list_justprice .shopName {
    font-size: 18px;
    font-weight: bold;
    color: #005fc0;
    line-height: 1.3;
}

.list_justprice .shopType {
    font-size: 14px;
}

/* 予算で遊ぶ一覧：電話番号 */
.list_justprice .tel {
    font-size: 14px;
    line-height: 1.2;
    color: #333;
    margin-top: 6px;
    padding: 10px 12px;
    background-color: #fffad9;
    box-sizing: border-box;
}

.list_justprice .tel .lbl {
    height: 18px;
    line-height: 18px;
    margin-bottom: 8px;
    padding-left: 16px;
    background-image: url(../images/pages/before-bg/ico-green-tel-2d6798c2989d3a961c1fd8cb8928f351.png);
    background-repeat: no-repeat;
    background-position: 0 center;
    background-size: 13px 18px;
    box-sizing: border-box;
}

.list_justprice .tel .num {
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
    margin-top: 4px;
}

/* 予算で遊ぶ一覧：価格 */
.list_justprice .price-tag {
    height: 70px;
    font-size: 15px;
    text-align: center;
    padding: 4px;
    background-color: #fff;
    border: 6px solid #e6effa;
    box-sizing: border-box;
}

.list_justprice .course_time, .list_justprice .course_price, .list_justprice .order_fee {
    display: inline-block;
}

.list_justprice .price-tag .num {
    font-weight: bold;
    color: #ff4141;
}

.list_justprice .course_time .num {
    font-size: 1.6em;
}

.list_justprice .course_price .num {
    font-size: 2.4em;
}

.list_justprice .order_fee {
    font-size: 1.1em;
    font-weight: bold;
    margin-top: -2px;
}

.list_justprice .order_fee::before {
    font-size: 1.2em;
    font-weight: normal;
    margin: 0 4px;
    content: '/';
}

.list_justprice .order_fee .notice {
    color: #00f;
}

/* 予算で遊ぶ一覧：エリア */
.list_justprice .price_term {
    display: flex;
    margin-top: 8px;
}

.list_justprice .price_term .lbl {
    display: inline-block;
    width: 80px;
    height: 26px;
    font-size: 14px;
    color: #fff;
    text-align: center;
    margin-right: 6px;
    padding: 3px 15px;
    background-color: #1069c4;
    border-radius: 4px;
    box-sizing: border-box;
    flex: 0 0 auto;
}

/* 予算で遊ぶ一覧：祝日不可 */
.list_justprice .txt_notice {
    color: #f00;
}

/* 予算で遊ぶ一覧：フリーテキスト */
.list_justprice .txt_free {
    margin-top: 6px;
    padding: 4px 8px;
    border: 1px dotted #969696;
    border-radius: 4px;
    box-sizing: border-box;
}

/* ======================================================
アイテムページ　コンテンツ（特集・グラビア等）枠　
====================================================== */
.profile_top .yg_content {
    margin-top: 20px;
}

.prof_contents .post_list_item {
    background: #fff;
    box-sizing: border-box;
    border: 1px solid #ffbddf;
}

.prof_contents .post_list_item .post_inner {
    padding: 6px;
    display: flex;
    box-sizing: border-box;
    border-top: none;
}

.prof_contents .post_list_eyecatch {
    position: relative;
    text-align: center;
    background: transparent;
    overflow: hidden;
    height: 107px;
    width: 80px;
}

.prof_contents .post_list_eyecatch img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.prof_contents .post_list_info {
    font-size: 13px;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    flex: 1 1;
    margin-left: 5px;
    line-height: 1.4;
}

.prof_contents .post_list_date {
    font-size: 12px;
}

.prof_contents .post_list_date {
    color: #333333;
    position: absolute;
    right: 8px;
    top: 5px;
}

.prof_contents .post_list_title {
    font-weight: bold;
    font-size: 14px;
}

.prof_contents .post_list_comment {
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 12px;
}

.post_gravure {
    background: #fff;
    box-sizing: border-box;
    border: 1px solid #ffbddf;
}

.prof_contents li + li {
    margin-top: 8px
}

.post_gravure img {
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

.prof_contents .contents_ttl {
    background-color: #fff3f7;
    font-size: 14px;
    font-weight: bold;
    padding: 2px 6px;
    color: #ed3f7a;
    border-bottom: 1px solid #ffbddf;
    position: relative;
}

.prof_contents .contents_ttl .topics_day {
    position: absolute;
    right: 8px;
    top: 5px;
    color: #333;
    font-size: 12px;
    font-weight: normal;
}

.prof_contents .post_list_cate {
    font-size: 11px;
    padding: 0px 5px;
    margin-left: 6px;
    vertical-align: middle;
    line-height: 0;
}

.prof_contents {
    margin-top: 8px
}

.prof_contents .gravure_inner {
    padding: 6px;
    display: block;
    text-align: center;
}

.post_list_item .post_text {
    background: #f1f0f0;
    padding: 5px;
    font-size: 12px;
    line-height: 1.5;
}

.post_list_item .post_text a {
    margin-left: 8px;
}

.post_list_item .post_text a::before {
    color: #005fc0;
    content: '>>';
}

/* ======================================================
店舗ページ　メニュー　テキスト化
====================================================== */
.shop_common .shop_menu ul {
    display: flex;
    width: 100%;
}

.shop_menu .menu_elm {
    max-width: 130px;
    min-width: 46px;
    font-size: 14px;
    flex: 1 0 auto;
}

.shop_menu .menu_elm.active {
    background: #ffe2f4;
    background: -moz-linear-gradient(top, #ffe2f4 0%, #fff 100%);
    background: -webkit-linear-gradient(top, #ffe2f4 0%, #fff 100%);
    background: linear-gradient(to bottom, #ffe2f4 0%, #fff 100%);
}

.shop_menu .menu_elm a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    color: #fff;
    letter-spacing: -0.2px;
    text-shadow: 1px 1px 1px #d63e72;
    width: auto;
    padding: 0 10px;
    line-height: 1.2em;
}

.shop_menu .menu_elm.active a {
    font-weight: bold;
    color: #f0588f;
    text-shadow: none;
}

.shop_menu .menu_elm a:hover {
    font-weight: bold;
    color: #f0588f;
    text-shadow: none;
    opacity: 1;
    text-decoration: none;
    background: #ffe2f4;
    background: -moz-linear-gradient(top, #ffe2f4 0%, #fff 100%);
    background: -webkit-linear-gradient(top, #ffe2f4 0%, #fff 100%);
    background: linear-gradient(to bottom, #ffe2f4 0%, #fff 100%);
}

/* --------------------------------------- */
/* アイテム：メニュー */
/* --------------------------------------- */
.girl_common .profile_top {
    z-index: 0;
}

.girl_nav .fl_inner {
    flex: 0 1 160px;
}

.girl_nav .fl_inner {
    border-right: 1px solid #f9bfc1;
}

.girl_nav .fl_inner:first-child {
    box-shadow: -10px 0 10px rgba(237, 233, 234, 0.2);
}

.girl_nav .fl_inner:last-child {
    box-shadow: 10px 0 10px rgba(237, 233, 234, 0.2);
}

.girl_nav .menu_lbl {
    position: relative;
    z-index: 1;
    display: block;
    height: 50px;
    font-weight: bold;
    line-height: 50px;
    color: #ea3d7b;
    text-align: center;
    background-color: #fff3f7;
    border-width: 1px 0;
    border-style: solid;
    border-color: #f9bfc1;
    transition: opacity 0.1s linear;
    text-decoration: none;
    box-shadow: 0 0 10px rgba(237, 233, 234, 0.4);
}

.girl_nav .menu_lbl.currentPage {
    z-index: 2;
    height: 51px;
    margin-bottom: -1px;
    background-color: #fff;
    border-width: 1px 0 0;
    border-color: #ea3d7b;
    box-shadow: none;
}

.girl_nav .fl_inner:first-child .menu_lbl:not(.currentPage) {
    border-left: 1px solid #f9bfc1;
}

.girl_nav .icon {
    font-size: 1.2em;
    margin-right: 2px;
    vertical-align: text-top;
}

.girl_nav .yoasobicon_diary {
    margin-right: 1px;
}

.girl_nav .yoasobicon_comments {
    font-size: 1.3em;
    margin-right: 1px;
}

.ie_info {
    display: none;
}

@media all and (-ms-high-contrast: none) {
    .ie_info {
        display: block;
    }
}
