/* Add your custom css styles */


/*///////////////////////////////////////////////////
全体
///////////////////////////////////////////////////*/
section{
 padding: 30px 0 0;
}
.heading{
 margin-bottom: 0;
}
.menu_flex{
 display: flex;
 justify-content: flex-start;
 width: 98%;
}
.menu_flex a{
 margin: 2px;
}
.logout_btn{
 align-self: flex-end;
}
@media screen and (max-width: 768px){
.menu_flex{
 width: 100%;
}
}

.text-small02{
 font-size: 12px;
}


/*///////////////////////////////////////////////////
ブログ編集画面
///////////////////////////////////////////////////*/
.blog-wrap{
 display: block;
}
.blog-inner{
 display: flex;
 justify-content: center;
 margin: 20px;
 width: 95%;
}
.label-size{
 display: block;
 width: 150px;
}
.form-size{
 display: block;
 width: 800px;
 max-width: 100%;
}

@media screen and (max-width: 768px){
.blog-inner{
 flex-wrap: wrap;
 margin: 10px;
 width: 95%;
}

.label-size{
 display: block;
 width: 100%;
 text-align: left;
}
}


/*///////////////////////////////////////////////////
新人キャスト一覧
///////////////////////////////////////////////////*/
.new_name{
 font-size: 1em;
}


/*///////////////////////////////////////////////////
キャストブログ一覧
///////////////////////////////////////////////////*/
.btn_small{
 width: 200px!important;
 max-width: 100%;
 margin: 0 auto;
}
.btn_small_wrap{
 display: block;
 width: 200px!important;
 max-width: 100%;
 margin: 0 auto;
 position: relative;
}
.btn_small_wrap input{
 padding: 10px 0 10px 2em;
 line-height: 2;
}
.btn_small_wrap::before{
 content: "";
 width: 20px;
 height: 20px;
 background: url(../images/ico_write.png) no-repeat center center / auto 100%;
 display: inline-block;
 position: absolute;
 top: 10px;
 left: 35px;
}


/*///////////////////////////////////////////////////
キャストチャット一覧
///////////////////////////////////////////////////*/
.user_flex{
 display: flex;
 align-items: center;
}
.user_name{
 display: block;
 margin-left: 10px;
 font-weight: bold;
}
.img_circle{
 width: 100px;
 height: 100px;
 border-radius: 50%;
 position: relative;
 overflow: hidden;
}
.img_circle img{
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 object-fit: cover;
}
.chat_last_date{
 display: block;
 border-bottom: 1px dashed #fff;
 margin-bottom: 10px;
 padding-bottom: 5px;
}
@media screen and (max-width: 768px){
.user_flex{
 flex-wrap: wrap;
}
.user_name{
 width: 100%;
 text-align: center;
 margin-left: 0px;
 margin-top: 10px;
}
.img_circle{
 margin: 0 auto;
}
}


/*///////////////////////////////////////////////////
チャットページ
///////////////////////////////////////////////////*/

.scrollnone {
 -ms-overflow-style: none;
 scrollbar-width: none;
}

.scrollnone::-webkit-scrollbar {
 display: none;
}



/*チャットリストページ*/
.chatlist_flex_wrap{
/*
 display: flex;
 align-items: center;
 justify-content: flex-start;
 margin: 10px;
 flex-wrap: wrap;
*/
 display: grid;
 grid-template-columns: repeat(4,1fr);
 gap: 10px;
 align-items: center;
}

.chatlist_flex_inner{
 display: flex;
 align-items: center;
 justify-content: space-between;
 border:1px solid #ddd;
 padding: 10px;
 gap: 5px;
}
.chatlist-btn-wrap{
 display: flex;
 gap: 5px;
 align-items: center;
}

.chatlist_flex_inner02{
 display: flex;
 align-items: center;
 justify-content: center;
 margin: 10px;
 border:1px solid #fff;
 padding: 10px 20px;
 background-color: rgba(255,255,255,0.20);
 width: calc(100%/2 - 20px);
}

.chatlist_icon_cast img{
 width: 100px;
 height: 100px;
 border-radius: 50%;
 object-fit: cover;
}

@media screen and (max-width: 768px){
.chatlist_flex_wrap{
 grid-template-columns: 1fr;
}
}

@media screen and (max-width: 768px){
.chatlist_flex_inner,
.chatlist_flex_inner02{
 display: flex;
 margin: 0;
 margin-bottom: 5px;
 justify-content: space-between;
 width: 100%;
}
}

.chatlist_icon_right {
 display: block;
 font-size: 20px;
 font-weight: bold;
}
@media screen and (max-width: 768px){
.chatlist_icon_right {
 margin-left: 0px;
}
}

.chatlist_btn{
 display: block;
 background-image: radial-gradient( circle farthest-corner at 10.2% 55.8%,  rgba(252,37,103,1) 0%, rgba(250,38,151,1) 46.2%, rgba(186,8,181,1) 90.1% );
 color: #fff!important;
 font-size: 0.7em;
 margin-top: 3px;
 border-radius: 5px;
 width: 96px;
 text-align: center;
 border: none!important;
}

.chatlist_delete{
 background: red;
 font-size: 0.7em;
}
.chatlist_delete i{
 margin-right: 5px;
}

.chatlist_btn_sinsei{
 background: linear-gradient(0deg, rgba(233, 233, 233, 1), rgba(172, 172, 172, 1));
 color: #000!important;
}

.chatlist_icon_left{
 display: block;
 width: 30%;
}
.chatlist_icon_left02{
 display: block;
 width: 20%;
}
.chatlist_icon_img {
 width: 40px;
 height: 40px;
 border-radius: 50%;
 position: relative;
 overflow: hidden;
 margin: 0 auto;
}
.chatlist_icon_img02 {
 width: 80px;
 height: 80px;
 border-radius: 50%;
 position: relative;
 overflow: hidden;
 margin: 0 auto;
}
.chatlist_icon_img img,
.chatlist_icon_img02 img
{
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 object-fit: cover;
}

/*ボタンアイコン*/
.btn_icon{
 display: block;
 padding: 0px 10px;
 margin-top: 3px;
 border-radius: 5px;
 width: 100px;
 position: relative;
 background-image: radial-gradient( circle farthest-corner at 10.2% 55.8%,  rgba(252,37,103,1) 0%, rgba(250,38,151,1) 46.2%, rgba(186,8,181,1) 90.1% );
 transition: 1s;
}
.btn_icon02{
 display: block;
 padding: 0px 10px;
 margin-top: 3px;
 border-radius: 5px;
 width: 100px;
 position: relative;
 background: linear-gradient(0deg, rgba(233, 233, 233, 1), rgba(172, 172, 172, 1));
 transition: 1s;
}
.btn_icon::before{
 content: "";
 display: inline-block;
 width: 15px;
 height: 15px;
 margin: 0px 0px 0px 5px;
 background: url('../img/icon/ico_check.svg') no-repeat;
 background-size: contain;
 vertical-align: middle;
 position: absolute;
 left: 10px;
 top: 4.5px;
}
.btn_icon02::before{
 content: "";
 display: inline-block;
 width: 15px;
 height: 15px;
 margin: 0px 0px 0px 5px;
 background: url('../img/icon/ico_batu.svg') no-repeat;
 background-size: contain;
 vertical-align: middle;
 position: absolute;
 left: 0px;
 top: 4.5px;
}
.btn_icon:hover,
.btn_icon02:hover{
 opacity: 0.8;
}
.btn_icon input{
 display: block;
 border: none;
 background: rgba(0,0,0,0.00);
 padding: 0;
}
.btn_icon02 input{
 display: block;
 border: none;
 background: rgba(0,0,0,0.00);
 padding: 0;
 width: 100px;
}





/*注意*/
.chat_info {
 width: 100%;
 padding: 10px 30px;
 background: #FEFBE8;
 border: 5px solid #ffef87;
 position: relative;
 color: #a38d00!important;
 border-radius: 15px;
 margin: 30px auto;
}
@media screen and (max-width: 768px){
.chat_info {
 padding: 10px 20px;
}
}

.chat_info h3{
 color: #a38d00!important;
 font-size: 1.5em;
}
.chat_info i{
 color: #a38d00!important;
 margin-right: 10px;
}

.chat_info_delete {
 position: absolute;
 top: 5px;
 right: -7px;
 font-size: 2em;
 width: 50px;
 height: 50px;
 line-height: 30px;
 text-align: center;
 cursor: pointer;
 color: #a38d00!important;
}

/*チャット*/
.chat_wrap{
 display: block;
 height: 400px;
 overflow-y: scroll;
}

.chat-bubble {
 display: grid;
 gap: 1em 0;
 padding: 25px 10px;
}
.chat_bubble_wrap {
 display: flex;
 align-items: flex-start;
 gap: 0 15px;
}
.chat_icon_img {
 width: 45px;
 height: 45px;
 border-radius: 50%;
 position: relative;
 overflow: hidden;
}
.chat_icon_img img{
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 object-fit: cover;
}
.chat_text {
 display: inline-block;
 position: relative;
 /*max-width: 80%;*/
 max-width: 70%;
 margin: 0;
 padding: .4em .8em;
 border-radius: 20px;
 color: #333;
 font-size: .9em;
}

.chat_time{
 display: inline-block;
 color: #fff;
 font-size: 0.8em;
 align-self: flex-end;
}
.order05{
 flex-direction: row-reverse;
}

/*キャスト側から見る場合*/
.chat_text.user_chat_left {
 background-color: #fff;
 color: #000;
}
.chat_text.cast_chat_right {
 background-color: #FF5F65;
 /*margin: 0 10px 0 auto;*/
 color: #fff;
}
.chat_text::before {
 position: absolute;
 top: -15px;
 width: 20px;
 height: 30px;
 content: '';
}
.chat_text.user_chat_left::before {
 left: -10px;
 border-radius: 0 0 0 15px;
 box-shadow: -3px -15px 0 -7px #fff inset;
}
.chat_text.cast_chat_right::before {
 right: -10px;
 border-radius: 0 0 15px 0;
 box-shadow: 3px -15px 0 -7px #FF5F65 inset;
}


@media screen and (max-width: 768px){
.chat_bubble_wrap {
 align-items: flex-start;
}

.chat_time{
 display: block;
 width: 10%;
}

.chat_icon_img {
 width: 40px;
 height: 40px;
}

.chat_text {
 max-width: 65%;
}
.chat_text_right {
 max-width: 75%;
}

.chat_bubble_wrap {
 /*flex-wrap: wrap;*/
}
}


/*お客さん側から見る場合*/
.chat_text.cast_chat_left {
 background-color: #FF5F65;
 color: #fff;
}
.chat_text.cast_chat_left::before {
 left: -10px;
 border-radius: 0 0 0 15px;
 box-shadow: -3px -15px 0 -7px #FF5F65 inset;
}

.chat_text.user_chat_right {
 background-color: #fff;
 /*margin: 0 10px 0 auto;*/
 color: #000;
}
.chat_text.user_chat_right::before {
 right: -10px;
 border-radius: 0 0 15px 0;
 box-shadow: 3px -15px 0 -7px #fff inset;
}


.chat_massage_send{
 display: flex;
 width: 100%;
 border-top: 1px solid #fff;
 margin: 30px auto;
 padding: 30px 0;
 justify-content: space-around;
}
.chat_massage_send img{
 width: 100px;
 max-width: 100%;
}
.chat_massage_send textarea{
 color: #000;
}
.chat_submit{
 display: block;
 height: 30px;
 border: none;
 background-color: #ddd;
 color: #000!important;
 align-self: flex-end;
 padding: 5px 20px;
 text-align: center;
 line-height: 1.5;
}
.chat_submit i{
 color: #000!important;
}

@media screen and (max-width: 768px){
.chat_massage_send{
 flex-wrap: wrap;
}
.chat_massage_send textarea{
margin-bottom: 20px;
}

.chat_massage_send img{
 width: 80px;
 max-width: 100%;
}
}

/*///////////////////////////////////////////////////
微調整
///////////////////////////////////////////////////*/
.sec_p0{
 padding: 0;
}
.m_b0{
 margin-bottom: 0;
}
