/*--------------------------
	common
4:FF2B99
3:ff9776
2:ffd5be
1:ffedff
---------------------------*/
body{color:#333333;}
.border-pink{border-color: #737373!important;}
.border-yellow{border-color: #ff9776!important;}
.border-sky{border-color: #5bc0de!important;}
.border-blue{border-color: #414C9F!important;}
.border-green{border-color: #aae89a!important;}
.border-orange{border-color: #ED923F!important;}
.bg-pink{background-color:#737373;color:#fff;}
.bg-yellow{background-color:#ff9776;color:#fff}
.bg-sky{background-color:#5bc0de;color:#fff}
.bg-blue{background-color:#414C9F;color:#fff}
.bg-green{background-color:#aae89a;color:#fff}
.bg-orange{background-color:#ED923F;}
.bg-gray{background-color:#EAEAEA;border-radius: 10px;}
/*--------------------------
	サイドメニュー
---------------------------*/
.side_menu .list-group .list-group-item{background-color: #fff;color: #333333;border: solid 1px #cfc5c5;border-radius: 10px;}/*ボタンの色*/
.side_menu .list-group i{color:#cc0044;}/*アイコン*/
.side_menu .list-group{background:#f6f6f6;border-radius: 10px;}/*大枠*/
.card .btn.btn-circle.member_Add{background: #6c217c;color: #fff;border: solid 1px #fff;}/*会員登録の色*/
.banner{background:#ece4e4;}/*系列店舗の大枠背景*/
.banner p{background: #fff;}/*各店舗の背景*/

/*---------------------------
	ヘッダー
---------------------------*/
.navbar-custom .nav li > a {color: #333333;}
/*--------------------------
	footer
---------------------------*/
.footer .footer_box > div:nth-of-type(1) .widget .widget-title{border-color:#ff6ea1;}
.footer .footer_box > div:nth-of-type(2) .widget .widget-title{border-color:#ff6ea1;}
.footer .footer_box > div:nth-of-type(3) .widget .widget-title{border-color:#ff6ea1;}
.footer .footer_box > div:nth-of-type(4) .widget .widget-title{border-color:#ff6ea1;}
.footer .footer_box > div:nth-of-type(5) .widget .widget-title{border-color:#ff6ea1;}
.footer .footer_box > div:nth-of-type(1) .widget .icon-list li a:before{color:#ff6ea1}
.footer .footer_box > div:nth-of-type(2) .widget .icon-list li a:before{color:#ff6ea1}
.footer .footer_box > div:nth-of-type(3) .widget .icon-list li a:before{color:#ff6ea1}
.footer .footer_box > div:nth-of-type(4) .widget .icon-list li a:before{color:#ff6ea1}
.footer .footer_box > div:nth-of-type(5) .widget .icon-list li a:before{color:#ff6ea1}
/*---------------------------
	文字
---------------------------*/
a {color: #333333;}
a:hover, a:focus {color: #111;}
.bg-dark a {color: #aaa;}
.bg-dark a:hover, .bg-dark a:focus {color: #000;}
.bg-white{background: #fff;}
.text-danger {color:#ff6ea0;}
.text-success {color: var(--success);}
.text-info {color: #92D3F4;}
.text-warning {color: #fac082;}
.module-title{color: #343434;
    border-bottom: solid 2px #cc0044;
}
.module-title:first-letter{color:#cc0044;}
.module-title:after {background-image: linear-gradient(90deg, transparent, transparent 50%, #fff 50%, #fff 100%), linear-gradient(90deg, #404040, #404040 , #fff);}
.side_menu_title h5{border-bottom:dashed 1px #777;}
/*--------------------------
	top
----------------------------*/
	.sub_menu_xs ul li{
		border: 1px solid #cc0044;
	}
	.sub_menu_xs ul li a i{
		color:#cc0044;
	}
/*--------------------------
	table
----------------------------*/
table.table-yellow>tbody>tr>td:first-child {
    background: #ff9776;
    color: #fff;
    border-bottom: solid 1px #fff;
}
table.table-yellow > tbody > tr > td {
    border: solid #ff9776 1px;
}
table.table-sky>tbody>tr>td:first-child {
    background: #5bc0de;
    color: #fff;
    border-bottom: solid 1px #fff;
}
table.table-sky > tbody > tr > td {
    border: solid #fff 1px;
	border-bottom: solid 1px #ddd;
}
table.table-green>tbody>tr>td:first-child {
    background: #24CC71;
    color: #fff;
    border-bottom: solid 1px #fff;
}
/*--------------------------
	キャストbox
--------------------------*/
.shop-item {
    background-color: #FFFFFF;
    border-color: #6c217c;
    border-radius: 10px;
/*	border: 1px solid #cc0000;*/
}
.shop-item2nd{background-color: #FFFFFF;border-color:#e7e51c;}
.shop-item-image{border-color:#ccc;}
.box_text {
    background: #6c217c;
    padding: 7px; /* 上下に2pxの余白 */
}
.box_text2 {
    background: #b99d08;
    padding: 7px; /* 上下に2pxの余白 */
}
/*.girls_border{border:solid 1px #333;}*/
.girls_border2{border:solid 1px #b99d08;}
.cast_name{background:#6c217c;color:#fff;border-radius: 5px;
}
.cast_name2nd{background:#D0A900;color:#fff;}
.realtime_box .alert-danger {color: #ffffff;background-color: #cc0000;}
.realtime_box .alert-success {
    color: #ffffff;
    background-color: #21872d;
}

/*----------------------------
	プレイページ
-----------------------------*/
.web-rsv-2024 {
    background: linear-gradient(135deg, #ffffff, #f8f9fa);
    padding: 2.5rem 2rem;
    border-radius: 12px;
    box-shadow: 0 3px 20px rgba(0,0,0,0.08);
    margin: 20px 0;
    position: relative;
    overflow: hidden;
}

.web-rsv-2024::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 150px;
    height: 150px;
    background: linear-gradient(45deg, transparent 48%, rgba(52, 152, 219, 0.1) 50%);
    border-radius: 0 12px 0 100%;
}

.web-rsv-2024__title {
    color: #2c3e50;
    font-size: 1.8rem;
    margin-bottom: 2rem;
    text-align: center;
    position: relative;
    padding-bottom: 1.2rem;
}

.web-rsv-2024__title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background: linear-gradient(to right, #3498db, #2ecc71);
    border-radius: 3px;
}

.web-rsv-2024__title strong {
    background: linear-gradient(45deg, #2c3e50, #3498db);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    padding: 0 5px;
    position: relative;
    z-index: 1;
}

.web-rsv-2024__merit-box {
    background: rgba(248, 249, 250, 0.8);
    padding: 1.8rem;
    border-radius: 12px;
    margin: 1.5rem 0;
    position: relative;
    border: 1px solid rgba(52, 152, 219, 0.2);
}

.web-rsv-2024__merit-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(to bottom, #3498db, #2ecc71);
    border-radius: 4px 0 0 4px;
}

.web-rsv-2024__merit-title {
    font-weight: bold;
    color: #2c3e50;
    margin-bottom: 1rem;
    text-align: center;
    font-size: 1.1em;
}

.web-rsv-2024__check-list {
    padding-left: 0;
    list-style: none;
    margin: 0;
}

.web-rsv-2024__check-list li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 0.9rem;
    line-height: 1.6;
    color: #34495e;
}

.web-rsv-2024__check-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background: linear-gradient(45deg, #3498db, #2ecc71);
    border-radius: 50%;
}

.web-rsv-2024__check-list li::after {
    content: "✓";
    position: absolute;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
    color: white;
    font-size: 12px;
}

.web-rsv-2024__text {
    line-height: 1.8;
    color: #34495e;
    margin: 1.5rem 0;
}

.web-rsv-2024__notice {
    font-size: 0.9em;
    color: #666;
    background: rgba(248, 249, 250, 0.9);
    padding: 1.2rem;
    border-radius: 8px;
    margin-top: 1.5rem;
    border: 1px dashed rgba(0,0,0,0.1);
}

@media (max-width: 768px) {
    .web-rsv-2024 {
        padding: 1.5rem;
    }
    
    .web-rsv-2024__title {
        font-size: 1.5rem;
    }
    
    .web-rsv-2024__merit-box {
        padding: 1.2rem;
    }
}
.movie-wrap {
    border-radius: 12px;
    overflow: hidden; /* 角丸が効くように必要 */
}

.movie-wrap video {
    border-radius: 12px;
    width: 100%;
    display: block; /* 余分な余白を防ぐ */
    -webkit-mask-image: -webkit-radial-gradient(white, black); /* Safari用 */
    -webkit-backface-visibility: hidden; /* Safari用 */
    -moz-backface-visibility: hidden; /* Firefox用 */
    backface-visibility: hidden;
}

/*----------------------------
	ランキング
-----------------------------*/
/*タブ*/
.nav-tabs>li.active>a,
.nav-tabs>li.active>a:focus,
.nav-tabs>li.active>a:hover{background: #ff487e;color:#fff;}
.nav-tabs>li.active:nth-of-type(2)>a,
.nav-tabs>li.active:nth-of-type(2)>a:focus,
.nav-tabs>li.active:nth-of-type(2)>a:hover{background: #ff9776;}
.nav-tabs>li.active:nth-of-type(3)>a,
.nav-tabs>li.active:nth-of-type(3)>a:focus,
.nav-tabs>li.active:nth-of-type(3)>a:hover{background: #92D3F4;}
.nav-tabs>li>a:hover{background:transparent;}
.nav-tabs>li.active>a::after{border-color: rgba(0, 153, 255, 0);border-top-color:#ff487e;}
.nav-tabs>li.active:nth-of-type(2) >a::after{border-color: rgba(0, 153, 255, 0);border-top-color:#ff9776;}
.nav-tabs>li.active:nth-of-type(3) >a::after{border-color: rgba(0, 153, 255, 0);border-top-color:#92D3F4;}
/*ランキングラベル*/
.well.rank_1{background-image: linear-gradient(135deg, #a79756, #faf8c5, #a79756);}
.well.rank_2{background-image: linear-gradient(to top left, #A5A5A5, #BABAC2, #E8E8E8, #A5A5A5, #BABAC2);}
.well.rank_3{background-image: linear-gradient(135deg, #b2634e, #eac3a6, #b2634e);}