/* =============================================================================
   color.css - 統合テーマファイル
   作成日: 2025-12-18
   旧color.cssと旧pink.cssを統合
   ============================================================================= */

/* =============================================================================
   旧 color.css から移設（ベーススタイル）
   ※ 下部のテーマカラー定義で上書きされるセレクタあり
   ============================================================================= */

.loading-container {
  display: none;
}

.loading {
  display: inline-block;
  width: 50px;
  height: 50px;
  border: 4px solid rgba(0, 0, 0, 0.1);
  border-left-color: #333;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/*--------------------------------------------------------------
	Common
--------------------------------------------------------------*/
html {
	font-feature-settings: "palt";
}

body {
	color: #000;
	background-attachment: fixed;
}
.font-alt,.navbar-custom{
	letter-spacing: 1px;
}
.navbar-custom ~ .main,
.main{
	background:rgba(255,255,255,0.72);
}

.border-radius {
  border-radius: 10px;
}
/* border-* はoverrides.cssに移設済み */

.bg-dotto{background-image:url("../images/stripe2.png");}
.bg-mask {
  height: 100%;
  background: rgba(255,255,255,0.8);
}
.size12{font-size:12px;}
.size14{font-size:14px;}
.size16{font-size:16px;}
.size18{font-size:18px;}
.table-border > tbody > tr > td, .table-border > tbody > tr > th, .table-border > tfoot > tr > td, .table-border > tfoot > tr > th, .table-border > thead > tr > td, .table-border > thead > tr > th {
    vertical-align: middle;
	font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',Osaka,sans-serif;
}

.height-100{
	min-height:100px;
	height:100px;
}
.borderline{
	background:#000;
}
.table-fixed{
	table-layout:fixed;
}
@media (max-width:425px){
	main{
		padding-bottom:1.5rem;
	}
	.bg-fix-box{
	}
	.navbar-custom ~ .main,
	.main{
	}
	.middle-text {font-size: 12px;}
	.container>.navbar-collapse{
		padding-bottom:8em;
	}
}

/*--------------------------------------------------------------
	Buttons
--------------------------------------------------------------*/
.btn.btn-g {
	background: #dc687e;
	color: #fff;
}
.btn.active.focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn:active:focus,
.btn:focus {
}
.btn-primary {
    color: #fff;
    background-color: #6878dc;
    border-color: #6878dc;
    border-radius: 5px;
}

.btn-success {
    color: #fff;
    background-color: #6fb198;
    border-color: #6fb198;
	border-radius: 5px;
}
.inquiry_btn {
	background-color:#DF7FA8;
}
.inquiry_btn_pink {
	background-color:#DF7FA8;
}
.inquiry_btn_line {
	background-color:#03b902;
	color: #fff;
}
.inquiry_btn:first-child {
    background-color: #dc687e;
}

.inquiry_btn:nth-of-type(2) {
    background-color: #6878dc;
}
.inquiry_btn:nth-of-type(4){
	background-color: #e1da66;
}

.badge {
    display: inline-block;
    min-width: 18px;
    padding: 2px 4px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    background: #dc687e;
    color: #fff;
    border-radius: 10px;
    margin-left: 2px;
    position: relative;
    top: -1px;
}
.panel-default>.panel-heading .badge {
  background:#dc687e;
}
.member_toggle .badge {
	background:#dc687e;
	top:30px;
}
.yoyaku_btn{
	border-radius: 5px;
    box-shadow: 1px 1px 0px 1px #0c5600;
}
@media (max-width:425px){
	.member_toggle .badge {
		position: absolute;
		top: -3px;
		right: -10px;
	}
	.action-xs.nav-tabs>li.active>a{color:#fff;}
}

/*--------------------------------------------------------------
	Forms
--------------------------------------------------------------*/
::-moz-selection {
  background: #000;
  color: #fff;
}
::-webkit-selection {
  background: #000;
  color: #fff;
}
::selection {
  background: #000;
  color: #fff;
}

.form-control {
	-moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.form-control:focus {
  border-color: #CACACA;
}

/*--------------------------------------------------------------
	Typography (ベース - 下部でテーマカラーに上書き)
--------------------------------------------------------------*/
.module-title {
	color: #000;
	font-size: 20px;
	position: relative;
	border-bottom: solid 1px #e6e6e6;
}
.h1 .small, .h1 small, .h2 .small, .h2 small, .h3 .small, .h3 small, h1 .small, h1 small, h2 .small, h2 small, h3 .small, h3 small{
	font-size:40%;
	letter-spacing: 1px;
}
.module-subtitle {
}
.module-icon {
}
.module-title + .module-subtitle {
}
.side_menu_title h5 small {
    letter-spacing: 1px;
    display: inline-block;
}
.alt-module-subtitle {
}
.alt-module-subtitle h5 {
}
@media (max-width:420px){
	.h1 .small, .h1 small, .h2 .small, .h2 small, .h3 .small, .h3 small, h1 .small, h1 small, h2 .small, h2 small, h3 .small, h3 small{
		display:block;
		padding-bottom: 10px;
   	 margin-top: -5px;
	}
	.module-title {
		font-size: 18px;
	}
}

/*--------------------------
	table
---------------------------*/
.table_reverse.table>thead:first-child>tr:first-child>th{
	border-bottom:solid 1px #ddd;
}

/*--------------------------
	footer (ベース)
---------------------------*/
.footer {
    border-top: solid 1px #fff;
    padding-top: 2em;
    color: #fff;
    background: #000;
}
.footer a {	color:#fff;}
.footer .footer_box > div .widget .widget-title{border-bottom: solid 2px #fff;}
.footer .footer_box > div .widget .icon-list li a:before{color:#fff;}
.footer .footer_box > div .widget p{margin-bottom:10px;}
.footer .copyright{
	color:#fff;
}

/*--------------------------------------------------------------
	Navbar (ベース)
--------------------------------------------------------------*/
.navbar-custom {
    background-color:#fff;
	color: #fff;
}

.navbar-nav>li>a {
    padding-top: 40px;
    padding-bottom: 40px;
	font-size: 16px;
}
.navbar-custom .navbar-brand img{
	height:90px;
}
.navbar-custom .dropdown-menu {
	background: #fff;
    border-left: solid 1px rgba(0,0,0,.15);
    border-right: solid 1px rgba(0,0,0,.15);
    border-top: solid 1px rgba(0,0,0,.15);
	border-radius:10px;
    -webkit-border-radius:10px;
    -moz-border-radius:10px;
}
.navbar-custom .dropdown-menu:before{
	border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    bottom:100%;
    left:84%;
	border-color: rgba(224, 224, 224, 0);
    border-top-width:11px;
    border-bottom-width:11px;
    border-left-width:11px;
    border-right-width:11px;
    margin-left: -11px;
    margin-bottom: 1px;
    border-bottom-color:#fff;
}
.navbar-custom .dropdown-menu:after{
	border-color: rgba(255, 255, 255, 0);
    border-top-width:10px;
    border-bottom-width:10px;
    border-left-width:10px;
    border-right-width:10px;
    margin-left: -10px;
    border-bottom-color:#FFFFFF;
}
.navbar-custom .navbar-brand {
  color: #000000;height:100px;
}
.navbar-custom .dropdown-menu > li > a {
  color: #333;
}
.navbar-custom .dropdown-menu .dropdown-menu {
  border-left: 1px solid rgba(73, 71, 71, 0.15);
}
.navbar-custom .dropdown-menu.left-side .dropdown-menu {
  border-right: 1px solid rgba(73, 71, 71, 0.15);
}
.navbar-custom .nav > li > a:focus,
.navbar-custom .nav > li > a:hover,
.navbar-custom .nav .open > a,
.navbar-custom .nav .open > a:focus,
.navbar-custom .nav .open > a:hover,
.navbar-custom .dropdown-menu > li > a:focus,
.navbar-custom .dropdown-menu > li > a:hover {
  background: none;
  color: #666;
}
.navbar-custom .dropdown-toggle:after {
}
.navbar-custom .navbar-toggle .icon-bar {
  background: #522e0a;
  color: #522e0a;
}
@media screen and (max-width: 768px){
	.navbar-nav>li>a {
		padding: 15px 10px;
		font-size: 12px;
	}
	.navbar-custom .navbar-brand ,.navbar-custom .navbar-brand img {
		height: 47px;
	}
}

.navbar-custom .nav li > a.login-btn {
    padding-top: 0;
    padding-bottom: 0;
    transition: opacity 0.3s ease;
}

.navbar-custom .nav li > a.login-btn:hover {
    opacity: 0.8;
}

@media screen and (max-width: 768px) {
    .navbar-custom .nav li > a.login-btn {
        margin-top: 7px;
        padding: 6px 20px;
        font-size: 12px;
    }
}

/*--------------------------------------------------------------
	top
--------------------------------------------------------------*/
.loop .item{
	max-width:960px;
	width:960px;
}
@media (max-width:960px){
	.loop .item{
		width:100%;
	}
}
.news_scroll{
	height: 550px;
    overflow: hidden;
	margin-bottom: 1rem;
}
.news_scroll .news_scroll_box{
	overflow-y: scroll;height: inherit;
}

/*--------------------------------------------------------------
	Q&A
--------------------------------------------------------------*/
.question_Box .question_image figure img,
.question_Box .answer_image figure img {
    border-radius: 50%;
    width: 50px;
    height: 50px;
}
.arrow_answer {
    position: relative;
	background: #f1f1f1;
    border: 1px solid #b1b1b1;
    border-radius: 10px;
    width: 75%;
    padding: 2%;
}
.arrow_question {
    position: relative;
    background: #fff;
    border: 1px solid #c8c8c8;
    border-radius: 10px;
    width: 75%;
    padding: 2%;
}
.arrow_answer {
    float: right;
}
.arrow_question {
    float: left;
}
.arrow_answer:after, .arrow_answer:before, .arrow_question:after, .arrow_question:before {
    top: 30%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}
.arrow_question:after, .arrow_question:before {
    right: 100%;
}
.arrow_answer:after, .arrow_answer:before {
    left: 100%;
}
.arrow_answer:after, .arrow_question:after {
    border-color: rgba(255, 255, 255, 0);
    border-width: 8px;
    margin-top: 0;
}
.arrow_answer:after {
    border-left-color: #f1f1f1;
}
.arrow_question:after {
    border-right-color: #fff;
}
.arrow_answer:before, .arrow_question:before {
    border-color: rgba(200, 200, 200, 0);
    border-width: 9px;
    margin-top: -1px;
}
.arrow_answer:before {
    border-left-color: #b1b1b1;
}
.arrow_question:before {
    border-right-color: #c8c8c8;
}
.question_image {
    float: left;
    padding-right: 15px;
}
.answer_image {
    float: right;
    padding-left: 15px;
}
.answer_image img, .question_image img {
    width: 100%
}
.answer_Box, .question_Box {
    width: 100%;
    overflow: hidden;
    margin-bottom: 3%;
}
.answer_kidoku {
    float: right;
    text-align: left;
    margin-right: 7px;
}

/*女の子box (ベース)*/
.shop-item{
    background-color: #FFFFFF;
    padding: 10px;
    margin: 0 10px 10px 0;
	border-radius: 10px;
}
.shop-item-image {
    border: solid 1px #ccc;
    padding: 5px;
    width: 100%;
    padding-top: 133%;
    position: relative;
    display: inline-block;
    border-radius: 10px;
}

.cast_name2 {
	margin: 5px auto;
	text-align: center;
	background: linear-gradient(135deg, #D8B56E 0%, #FCEABB 50%, #B8860B 100%);
	padding: 5px 15px;
	color: #422D0E;
	border-radius: 5px;
	font-size: 10px;
	position: relative;
	overflow: hidden;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.3);
	border: 1px solid rgba(136, 86, 11, 0.3);
}

.cast_name2::before {
	content: '';
	position: absolute;
	top: 0;
	left: -150%;
	width: 75%;
	height: 100%;
	background: linear-gradient(
		to right,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.5) 50%,
		rgba(255, 255, 255, 0) 100%
	);
	transform: skewX(-25deg);
	animation: shine 3s infinite;
}

@keyframes shine {
	0% {
		left: -150%;
	}
	50% {
		left: 150%;
	}
    100% {
		left: 150%;
	}
}

.cast_size{
	font-size:14px;
}
.alert-danger {
    color: #ffffff;
    background: linear-gradient(90deg, #FF4D82 0%, #FF6B9F 100%);
    border: none;
}

.alert-info {
   color: #FFFFFF;
   background: linear-gradient(90deg, #B768FF 0%, #D595FF 100%);
}
.alert-success {
   color: #FFFFFF;
   background: linear-gradient(90deg, #4CD964 0%, #5FE777 100%);
   border: none;
}

.realtime_box .well,.realtime_box .alert{
	line-height: 1.3;
    font-size: 1.4rem;
    padding: 5px;
    border-radius: 10px;
}
.realtime_box .well div,.realtime_box .alert div{
	background:#fff;
	border-radius: 5px 5px 0 0 ;
	margin-bottom:5px;
	padding: 2px 0;
	border-radius: 5px;
}
.realtime_box .alert-danger div{
	color:#FF4D82;
}
@media (max-width:420px){
	.cast_name{
		line-height:2rem;
	}
	.cast_size{
		font-size:14px;
	}
	.shop-item {
    padding: 5px;
    margin: 0 5px 5px 0;
}
}
@media (max-width:375px){
	.cast_size{
		font-size:14px;
	}
}

/*-----------------------------
	サイド (ベース)
------------------------------*/
.tel_link{
	font-size:20px;
	font-weight:bold;
}

.member_Add:hover {
    text-decoration: none;
    color: #fff;
    opacity: 0.7;
    box-shadow: none;
    -webkit-transform: translateY(3px);
}
.member_Add::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: member_Add 3s ease-in-out infinite;
}
@-webkit-keyframes member_Add {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
.card .btn.btn-circle.recruit_Add {
    display: block;
    position: relative;
    width: 94%;
    padding: 5px 15px;
    margin: 30px auto;
    background-color: #ff6b94;
    border: solid 1px #fff;
	border-radius: 10px;
    font-weight: bold;
    font-size: 20px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    overflow: hidden;
    transition: 0.2s;
}
.recruit_Add:hover {
    text-decoration: none;
    color: #fff;
    opacity: 0.7;
    box-shadow: none;
    -webkit-transform: translateY(3px);
}
.recruit_Add::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: recruit_Add 3s ease-in-out infinite;
}
@-webkit-keyframes recruit_Add {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

.sub_menu_xs{
	padding:10px 0;
	background:#F2F2F2;
}
.sub_menu_xs ul{
	background: #fff;
	list-style:none;
	padding:0;margin:0;
	display: flex;
	flex-wrap: wrap;
	font-size:14px;
}
.sub_menu_xs ul li a{
	border-bottom: 0;
	border-right: 0;
	display: block;
	height: auto;
	padding:10px 10px;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	text-align: center;
}

/*---------------------------
	料金表
----------------------------*/
.price-table{
	background:#f6f6f6;
	padding:2rem;
}
.price-table>table{
	background:#fff;
}
.price-table>tbody>tr{border:solid 1px #000;}
.price-table>table>tbody>tr>td:first-child {
    background: linear-gradient(
        90deg,
        #E667A2 0%,
        #EB87B2 50%,
        #F0A7C2 100%
    );
    color: #fff;
    border-bottom: solid 1px #fff;
}
.price-table>table > tbody > tr > td{
	border:solid #fff 1px;
	width:70%;
}
.flow_area .cap2{
	background:#ece4d6;
	padding:5px 10px;
	padding-left:2em;
	line-height: 16px;
}
.flow_area .cap2:first-letter{
	margin-left:-1em;
}
.flow_area .flow_text{
	padding:1em;
	line-height:1.5em;
}
.arrow_flow_under{text-align:center;
font-size:2em;
color:#fc1999;}

/*------------------------------
	指名
-------------------------------*/
table.table-green>tbody>tr{border:solid 1px #00994d;}
table.table-green>tbody>tr>td:first-child{
	background:#00994d;
	color:#fff;
	border-bottom:solid 1px #fff;
}
table.table-green > tbody > tr > td{border:solid #00994d 1px;}

/*--------------------------------
	その他
----------------------------------*/
table.table-gray>tbody>tr{border:solid 1px #777;}
table.table-gray>tbody>tr>td:first-child{
	background:#777;
	color:#fff;
	border-bottom:solid #fff 1px;
}
table.table-gray > tbody > tr > td{border:solid #777 1px;}
.price_img_box{
	display:flex;
	justify-content: space-between;
flex-wrap: wrap;
}
.price_img_box p{
	width:calc(100%/6);
	border: solid 1px #ededed;
    padding: 5px;
	text-align:center;
	font-size:12px;
}
@media(max-width:425px){
	.price-table {
  	  padding: 1rem;
	}
	.price-table>table > tbody > tr > td{
		font-size:12px;font-weight:bold;
	}
	.price-table>table>tbody>tr>td:first-child{
		font-size:12px;font-weight:bold;
	}
	.price_img_box p{
	width:calc(100%/2);
	border: solid 1px #ededed;
    padding: 5px;
	text-align:center;
	font-size:12px;
}
}

/*------------------------------
	プロフィール
-------------------------------*/
.prof-h2{
	display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
h5.module-title{
	font-size:18px;
}
.balloon-left {
  position: relative;
  display: inline-block;
  margin: 10px 0;
  padding: 7px;
  width: 100%;
  color: #555;
  font-size: 16px;
  background: #fff;
  border: solid 1px #999;
  box-sizing: border-box;
  border-radius: 10px;
}

.balloon-left:before {
  content: '';
  position: absolute;
  top: 30px;
  left: -24px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-right: 12px solid #999;
  z-index: 2;
}

.balloon-left p {
  margin: 0;
  padding: 0;
  font-family: 'LINE Seed JP', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.profile_btn .btn-round{
	background:#ebe4cd;
}
.profile_btn > div:nth-of-type(1) > a > div,.profile_btn > div:nth-of-type(3) > a > div{margin:1em 0;}
.table-option{border:solid 1px #333;}
.table-option th{background:#eee;}
.table-option td{text-align: center;}
.table-option-ng{color:#9a9a9a;}
.table_reverse.table>tbody>tr>td{
	vertical-align: middle;border-left: solid 1px #dedede;
	vertical-align: middle;border-right: solid 1px #dedede;
}
.week_table th.sat {
    color: #FFF;
    background: #8b92ab;
}
.week_table th.sun {
    color: #FFF;
    background: #e69190;
}
@media(max-width:425px){
	.profile_btn .col-xs-4:nth-of-type(2){padding-left:0;padding-right:0;}
	.table_reverse.height-100{
		height:auto;
		min-height:inherit;
	}
	.week_table th {
		font-size: 10px;
	}
	.table_reverse thead {
		width: 25%;
	}
	.table_reverse tbody {
		width: 75%;
	}
	.table_reverse tbody tr.height-100 {
		width: 55%;
	}
	.table_reverse tbody tr {
		width: 45%;
	}
	.table_reverse.table>tbody>tr.height-100>td{padding:8px;}
}

/*ブログ*/
.post{
}

/*ランキング (ベース)*/
.ranking_nav{
	border-bottom:none;
}
.ranking_nav >li{margin-right:10px;}
.ranking_nav >li:nth-of-type(1) {background:#e69190;}
.ranking_nav >li:nth-of-type(2) {background:#E5C12D;}
.ranking_nav >li:nth-of-type(3) {background:#004D99;}
.ranking_nav>li>a{border:none;color:#fff;}
.nav-tabs>li.active>a::after{
	border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-top-width:10px;
    border-bottom-width:10px;
    border-left-width:10px;
    border-right-width:10px;
    margin-left: -10px;
    top:100%;
    left:50%;
	border-color: rgba(0, 153, 255, 0);
	border-top-color:#e69190;
}

@media (max-width:420px){
	.ranking_nav >li{margin-right:3px;}
}

/*-----------------------
	プレイ
------------------------*/
.play_flow ul{
	list-style: none;padding: 12px 25px;
    border: 1px solid #D7D7D7;
    margin: 15px 0 0 0;
    font-size: 14px;
    text-align: left;
	background:#e0e0e073;
}
.play_flow li{
	margin: 12px 0;
    border-radius: 3px;
    padding: 2px 5px;
    background: #fff;
    display: table;
    width: 100%;
    box-sizing: border-box;list-style: none;
}
.play_flow li span{
	color: #A7CC49;
    font-weight: bold;
    font-size: 32px;
    width: 45px;
    text-align: center;
    margin: -8px 10px 0px 10px;
    vertical-align: middle;
    display: table-cell;}
.play_flow li p{
	margin-bottom:0;
}
.play_guide{
	background:#fff;
}
.play_guide h4{
	font-weight: bold;
    border-bottom: solid 2px #e69190;
    color: #e69190;
}
.play_guide .play_guide_content ul{
	border: double 10px #e5c12c;
    margin-left: 0;
    padding-left: 20px;
}
.pgc_h{
	    background: #ece4d6;
    padding: 5px;
    border: dashed #fff 3px;
}

/*つぶやき*/
.msg__contents .msg__left{
	padding:10px;
}
.msg__contents .msg__left figure{
	left:15px;
}
.msg__contents .msg__left p{
	margin-bottom:0;
}

/*-----------------------
	マイページ
-------------------------*/
#breadcrumbs-one{
  background: #eee;
  border-width: 1px;
  border-style: solid;
  border-color: #f5f5f5 #e5e5e5 #ccc;
  border-radius: 5px;
  box-shadow: 0 0 2px rgba(0,0,0,.2);
  overflow: hidden;
  width: 100%;
	list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
}

#breadcrumbs-one li{
	width:25%;
}

#breadcrumbs-one span{
  padding: .7em 1em .7em 2em;
  display: block;
  text-decoration: none;
  color: #444;
  position: relative;
  text-shadow: 0 1px 0 rgba(255,255,255,.5);
  background-color: #ddd;
  background-image: linear-gradient(to right, #f5f5f5, #ddd);
}

#breadcrumbs-one li:first-child span{
  padding-left: 1em;
  border-radius: 5px 0 0 5px;
}

#breadcrumbs-one span:hover{
  background: #fff;
}

#breadcrumbs-one span::after,
#breadcrumbs-one span::before{
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -1.5em;
  border-top: 1.5em solid transparent;
  border-bottom: 1.5em solid transparent;
  border-left: 1em solid;
  right: -1em;
}

#breadcrumbs-one span::after{
  z-index: 2;
  border-left-color: #ddd;
}

#breadcrumbs-one span::before{
  border-left-color: #ccc;
  right: -1.1em;
  z-index: 1;
}

#breadcrumbs-one span:hover::after{
  border-left-color: #fff;
}

#breadcrumbs-one .current,
#breadcrumbs-one .current:hover{
  font-weight: bold;
  background: none;
}

#breadcrumbs-one .current::after,
#breadcrumbs-one .current::before{
  content: normal;
}
@media(max-width:425px){
	#breadcrumbs-one li:first-child span{
		padding-left:5px;
	}
	#breadcrumbs-one span{
		padding: 5px 5px 5px 17px;
		text-align: right;
	}
}

/*-----------------------------
メッセージ
-------------------------------*/
.min_h_100vh {
min-height: 95vh;
}

.config table{word-break: break-all;
word-wrap: break-all;}

/*-----------------------------
ローディング
-------------------------------*/
#loading-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fefdfd;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
  z-index: 9999;
}
.loader,
.loader:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}
.loader {
  margin: 60px auto;
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(255, 255, 255, 0.2);
  border-right: 1.1em solid rgba(255, 255, 255, 0.2);
  border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
  border-left: 1.1em solid #ffffff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.completed {
  opacity: 0;
  visibility: hidden;
}


/* =============================================================================
   テーマカラー定義（優先）
   以下のスタイルは上記のベーススタイルを上書き
   ============================================================================= */

/*--------------------------
	common - テーマカラー
---------------------------*/
body{color:#333333;}

/* bg-* テーマカラー */
.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;}

/*--------------------------
	サイドメニュー - テーマ
---------------------------*/
.side_menu .list-group .list-group-item {
    padding: 15px 15px 13px;
    margin: 5px 0;
    font-size: 1.5rem;
    background-color: #fff;
    color: #333333;
    border: solid 1px #ff9bd4;
    border-radius: 5px;
}
/* .side_menu .list-group i は下部で完全定義済み */
.side_menu .list-group{
    background: #f6f6f6;
    padding: 10px;
}
.card .btn.btn-circle.member_Add {
    display: block;
    position: relative;
    width: 94%;
    padding: 5px 15px;
    margin: 30px auto;
    background: rgb(220, 104, 126);
    border: none;
    border-radius: 10px;
    font-weight: bold;
    font-size: 20px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(255, 155, 212, 0.4);
    transition: all 0.3s ease;
}
.card .btn.btn-circle.member_Add:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(230, 103, 162, 0.4);
}

.card .btn.btn-circle.member_Add:active {
    transform: translateY(0);
    box-shadow: 0 1px 2px rgba(56, 184, 200, 0.4);
}
.nav.navbar-nav .fa {
    color: #ff9bd4;
}
.navbar-custom .nav li > a {
    color: #333333;
    font-size: 15px;
}
.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:#fff;}
.footer .footer_box > div:nth-of-type(2) .widget .widget-title{border-color:#fff;}
.footer .footer_box > div:nth-of-type(3) .widget .widget-title{border-color:#fff;}
.footer .footer_box > div:nth-of-type(4) .widget .widget-title{border-color:#fff;}
.footer .footer_box > div:nth-of-type(5) .widget .widget-title{border-color:#fff;}
.footer .footer_box > div:nth-of-type(1) .widget .icon-list li a:before{color:#fff}
.footer .footer_box > div:nth-of-type(2) .widget .icon-list li a:before{color:#fff}
.footer .footer_box > div:nth-of-type(3) .widget .icon-list li a:before{color:#fff}
.footer .footer_box > div:nth-of-type(4) .widget .icon-list li a:before{color:#fff}
.footer .footer_box > div:nth-of-type(5) .widget .icon-list li a:before{color:#fff}

/*---------------------------
	文字 - テーマ
---------------------------*/
a {color: #333333;}
a:hover, a:focus {color: #111;}
.bg-dark a {color: #aaa;}
.bg-dark a:hover, .bg-dark a:focus {color: #fff;}
.bg-white{background: #fff;}
.text-danger {color:#ff6ea0;}
.text-success {color: var(--success);}
.text-info {color: #92D3F4;}
.text-warning {color: #fac082;}
.module-title{color:#7c594f;}
.module-title:first-letter{color:#404040;}
.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 - テーマ
----------------------------*/
.btn-pink {
    color: #fff;
    background-color: #dc687d;
}
.sub_menu_xs ul li{
	width: 50%;
	border: 1px solid #dc687d;
	margin-bottom: -1px;
	margin-right: -1px;
}
.sub_menu_xs ul li a i{
	color:#E667A2;
}
.news_box ul li .date {
    background: none repeat scroll 0 0 #f28ac1;
    color: #ffffff;
    font-size: 11px;
    padding: 3px 7px 2px;
    border-radius: 4px;
    display: inline-block;
}
.news_box ul li {
    border-bottom: 1px dotted #aaa;
    padding-bottom: 5px;
    margin-bottom: 5px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
.news_box ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

/*--------------------------
	table - テーマ
----------------------------*/
table.table-yellow>tbody>tr>td:first-child {
    background: #ff9776;
    color: #fff;
    border-bottom: solid 1px #fff;
}
/* .card .btn.btn-circle.member_Add は上部で定義済み */
table.table-yellow > tbody > tr > td {
    border: solid #ff9776 1px;
}
table.table-sky>tbody>tr>td:first-child {
    background: linear-gradient(
        90deg,
        #E667A2 0%,
        #EB87B2 50%,
        #F0A7C2 100%
    );
    color: #fff;
    border-bottom: solid 1px #fff;
}
table.table-sky > tbody > tr > td {
    border: solid #fff 1px;
}

/*--------------------------
	キャストbox - テーマ
--------------------------*/
.shop-item-image{border-color:#ccc;}
.box_text {
    background: linear-gradient(90deg, #E667A2 0%, #EB87B2 50%, #F0A7C2 100%);
    padding: 7px;
}
.box_text2 {
    background: #b99d08;
    padding: 7px;
}

.cast_name {
    font-size: 12px;
    margin: 0;
    text-align: center;
    padding: 3px 0;
    border-radius: 5px;
    background: linear-gradient(
        90deg,
        #E667A2 0%,
        #EB87B2 50%,
        #F0A7C2 100%
    );
    color: #fff;
}
.cast_name2nd{background:#D0A900;color:#fff;}
.realtime_box .alert-danger {
	color: #ffffff;
    background: linear-gradient(90deg, #FF4D82 0%, #FF6B9F 100%);
}

/*----------------------------
	ランキング - テーマ
-----------------------------*/
.nav-tabs>li.active>a,
.nav-tabs>li.active>a:focus,
.nav-tabs>li.active>a:hover{background: #fc1999;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:#fc1999;}
.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);}

/* login-btn テーマ */
.login-btn {
    background: linear-gradient(90deg, #FF7B93 0%, #FF9190 50%, #FFA98B 100%);
    border-radius: 50px;
    padding: 6px 20px;
    border: none;
    margin-top: 33px;
    display: inline-block;
    text-transform: none;
    letter-spacing: normal;
    font-size: 14px;
    box-shadow: 0 2px 4px rgba(255, 123, 147, 0.3);
    transition: all 0.3s ease;
}

.login-btn:hover {
    opacity: 0.9;
    transform: translateY(1px);
    box-shadow: 0 1px 2px rgba(255, 123, 147, 0.2);
    text-decoration: none;
}
.side_menu .list-group i {
    font-size: 16px;
    color: #fff;
    background: #dc687e;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
}

/* 新着ニュースのスタイル */
.news-header .module-title {
    background: linear-gradient(
        90deg,
        #38B8C8 0%,
        #7F90E5 50%,
        #E667A2 100%
    );
    color: #fff;
    padding: 10px 20px;
    margin: 0;
    border-radius: 5px;
    font-size: 18px;
    position: relative;
}

/* 小さな三角形を追加 */
.news-header .module-title:after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 30px;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #38B8C8;
}
.close_modal .btn-primary:hover,
.close_modal .btn-primary:focus {
    background: linear-gradient(90deg, #FF7B93 0%, #FF9190 50%, #FFA98B 100%);
    opacity: 0.8;
}

/* スマホ表示時の写真のみ画面いっぱいに */
@media (max-width: 767px) {
  .post .col-xs-12.col-sm-6.col-md-6.col-lg-6:first-child {
    margin-left: -15px;
    margin-right: -15px;
    width: calc(100% + 30px);
  }

  .post .post-image img {
    width: 100%;
    height: auto;
    border-radius: 0;
  }
}

/* プロフィール画像の修正 */
.msg__contents .msg__left figure {
  width: 50px;
  position: absolute;
  top: 15px;
  left: 15px;
  padding: 2px;
  margin: 0;
  background: linear-gradient(45deg, #38B8C8, #7F90E5, #E667A2);
  border-radius: 50%;
  height: 50px;
  text-align: center;
  overflow: hidden;
}

.msg__contents .msg__left figure i.fa-user {
  color: white;
  margin-top: 4px;
}
